Added the path property in encoding-target
authorAyush Mittal <ayush.mittal9398@gmail.com>
Fri, 19 Jun 2020 19:07:09 +0000 (00:37 +0530)
committerAyush Mittal <ayush.mittal9398@gmail.com>
Fri, 26 Jun 2020 14:27:06 +0000 (19:57 +0530)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/714>

gst-libs/gst/pbutils/encoding-target.c
gst-libs/gst/pbutils/encoding-target.h

index 3d6ea21b2ba3afd96c31c4900cf4ceb8a75dd6ee..824464f89fc46ed6f68f5b1cb8b53c0232dc13fb 100644 (file)
@@ -99,6 +99,7 @@ struct _GstEncodingTarget
   gchar *name;
   gchar *category;
   gchar *description;
+  gchar *path;
   GList *profiles;
 
   /*< private > */
@@ -123,6 +124,7 @@ gst_encoding_target_finalize (GObject * object)
   g_free (target->name);
   g_free (target->category);
   g_free (target->description);
+  g_free (target->path);
 
   g_list_foreach (target->profiles, (GFunc) g_object_unref, NULL);
   g_list_free (target->profiles);
@@ -171,6 +173,21 @@ gst_encoding_target_get_description (GstEncodingTarget * target)
   return target->description;
 }
 
+/**
+ * gst_encoding_target_get_path:
+ * @target: a #GstEncodingTarget
+ *
+ * Returns: (transfer none): The path to the @target file.
+ *
+ * Since: 1.18
+ */
+const gchar *
+gst_encoding_target_get_path (GstEncodingTarget * target)
+{
+  g_return_val_if_fail (GST_IS_ENCODING_TARGET (target), NULL);
+  return target->path;
+}
+
 /**
  * gst_encoding_target_get_profiles:
  * @target: a #GstEncodingTarget
@@ -1010,6 +1027,8 @@ gst_encoding_target_save_to_file (GstEncodingTarget * target,
   if (!g_file_set_contents (filepath, data, data_size, error))
     goto write_failed;
 
+  target->path = g_strdup (filepath);
+
   g_key_file_free (out);
   g_free (data);
 
@@ -1167,10 +1186,10 @@ sub_get_all_targets (gchar * subdir)
     fullname = g_build_filename (subdir, filename, NULL);
     target = gst_encoding_target_load_from_file (fullname, NULL);
     if (target) {
+      target->path = fullname;
       res = g_list_append (res, target);
     } else
       GST_WARNING ("Failed to get a target from %s", fullname);
-    g_free (fullname);
   }
   g_dir_close (dir);
 
index 099492e6342f2ad5cc155de0e6ac4702ac46b533..9a51dac55f8e6405a486fe1b252e4a0ce7c2db8d 100644 (file)
@@ -136,6 +136,9 @@ const gchar *           gst_encoding_target_get_category        (GstEncodingTarg
 GST_PBUTILS_API
 const gchar *           gst_encoding_target_get_description     (GstEncodingTarget *target);
 
+GST_PBUTILS_API
+const gchar *           gst_encoding_target_get_path            (GstEncodingTarget *target);
+
 GST_PBUTILS_API
 const GList *           gst_encoding_target_get_profiles        (GstEncodingTarget *target);