validate: descriptor-writer: Handle NULL GError address and free GError during error...
authorVineeth TM <vineeth.tm@samsung.com>
Mon, 17 Aug 2015 01:31:33 +0000 (10:31 +0900)
committerThibault Saunier <tsaunier@gnome.org>
Fri, 2 Oct 2015 15:39:00 +0000 (17:39 +0200)
writer_new_discover() API should be able to accept NULL GError and in case of
error, if GError is passed on as parameter, it should be propagated, else it
should be free'd.

https://bugzilla.gnome.org/show_bug.cgi?id=753340

validate/gst/validate/media-descriptor-writer.c

index 12a772a..d30947b 100644 (file)
@@ -515,19 +515,21 @@ gst_media_descriptor_writer_new_discover (GstValidateRunner * runner,
   GstMediaDescriptorWriter *writer = NULL;
   GstMediaDescriptor *media_descriptor;
   const GstTagList *tags;
+  GError *error = NULL;
 
-  discoverer = gst_discoverer_new (GST_SECOND * 60, err);
+  discoverer = gst_discoverer_new (GST_SECOND * 60, &error);
 
   if (discoverer == NULL) {
     GST_ERROR ("Could not create discoverer");
-
+    g_propagate_error (err, error);
     return NULL;
   }
 
-  info = gst_discoverer_discover_uri (discoverer, uri, err);
-  if (info == NULL && err && *err) {
-    GST_ERROR ("Could not discover URI: %s (error: %s)", uri, (*err)->message);
+  info = gst_discoverer_discover_uri (discoverer, uri, &error);
 
+  if (error) {
+    GST_ERROR ("Could not discover URI: %s (error: %s)", uri, error->message);
+    g_propagate_error (err, error);
     goto out;
   } else {
     GstDiscovererResult result = gst_discoverer_info_get_result (info);