urisourcebin: Avoid unreffing a pad we are not owning
authorThibault Saunier <tsaunier@igalia.com>
Tue, 10 Apr 2018 12:31:32 +0000 (09:31 -0300)
committerThibault Saunier <tsaunier@igalia.com>
Thu, 12 Apr 2018 19:10:44 +0000 (16:10 -0300)
expose_output_pad takes ownership of the pad.

gst/playback/gsturisourcebin.c

index 3e0d26d..0016218 100644 (file)
@@ -1454,13 +1454,16 @@ analyse_source (GstURISourceBin * urisrc, gboolean * is_raw,
             gst_object_unref (pad);
             pad = slot->srcpad;
           } else {
-            pad = create_output_pad (urisrc, pad);
+            GstPad *tmppad = create_output_pad (urisrc, pad);
+            gst_object_unref (pad);
+
+            pad = tmppad;
           }
           GST_URI_SOURCE_BIN_UNLOCK (urisrc);
           expose_output_pad (urisrc, pad);
+        } else {
           gst_object_unref (pad);
         }
-        gst_object_unref (pad);
         g_value_reset (&item);
         break;
     }