decodebin2: Actually dispose the unused ghostpads
authorEdward Hervey <bilboed@bilboed.com>
Wed, 15 Sep 2010 12:15:13 +0000 (14:15 +0200)
committerEdward Hervey <bilboed@bilboed.com>
Wed, 15 Sep 2010 12:17:58 +0000 (14:17 +0200)
gst/playback/gstdecodebin2.c

index 60285e2..4553294 100644 (file)
@@ -1403,6 +1403,7 @@ analyze_new_pad (GstDecodeBin * dbin, GstElement * src, GstPad * pad,
       /* If the caps are raw, this just means we don't want to expose them */
       if (gst_caps_can_intersect (raw, caps)) {
         gst_caps_unref (raw);
+        gst_object_unref (dpad);
         goto discarded_type;
       }
       gst_caps_unref (raw);
@@ -1462,8 +1463,10 @@ analyze_new_pad (GstDecodeBin * dbin, GstElement * src, GstPad * pad,
     }
     gst_caps_unref (rawcaps);
 
-    if (dontuse)
+    if (dontuse) {
+      gst_object_unref (dpad);
       goto discarded_type;
+    }
   }
 
   /* 1.f else continue autoplugging something from the list. */