uridecodebin: restore FLOATING flag when reusing decodebin instance
authorMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Fri, 9 Mar 2012 13:15:44 +0000 (14:15 +0100)
committerMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Fri, 9 Mar 2012 13:19:14 +0000 (14:19 +0100)
... which avoids leaking these due to an extra ref later on.

gst/playback/gsturidecodebin.c

index 9fe1691..30f8028 100644 (file)
@@ -1513,6 +1513,8 @@ remove_decoders (GstURIDecodeBin * bin, gboolean force)
       caps = DEFAULT_CAPS;
       g_object_set (decoder, "caps", caps, NULL);
       gst_caps_unref (caps);
+      /* make it freshly floating again */
+      GST_OBJECT_FLAG_SET (decoder, GST_OBJECT_FLOATING);
 
       bin->pending_decodebins =
           g_slist_prepend (bin->pending_decodebins, decoder);