]> granicus.if.org Git - handbrake/commitdiff
presets: add hb_presets_read_file_json()
authorjstebbins <jstebbins.hb@gmail.com>
Wed, 24 Jun 2015 15:07:11 +0000 (15:07 +0000)
committerjstebbins <jstebbins.hb@gmail.com>
Wed, 24 Jun 2015 15:07:11 +0000 (15:07 +0000)
First tries to intrepret file as json.  If that fails, tries plist.
Returns a json string.

git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7314 b64f7644-9d1e-0410-96f1-a4d463321fa5

libhb/preset.c

index 228c23fa835239985609a1a09c00174b75c361e4..3db53a2b11c512f2b925885bdd150634e4442350 100644 (file)
@@ -2598,6 +2598,19 @@ hb_value_t* hb_presets_read_file(const char *filename)
     return preset;
 }
 
+char * hb_presets_read_file_json(const char *filename)
+{
+    char *result;
+    hb_value_t *preset = hb_value_read_json(filename);
+    if (preset == NULL)
+        preset = hb_plist_parse_file(filename);
+    if (preset == NULL)
+        return NULL;
+
+    result = hb_value_get_json(preset);
+    return result;
+}
+
 int hb_presets_add_file(const char *filename)
 {
     hb_value_t *preset = hb_value_read_json(filename);