From: Guillaume Desmottes Date: Tue, 25 May 2021 12:41:51 +0000 (+0200) Subject: decodebin3: fix collection leak X-Git-Tag: 1.22.0~1840 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e482b995fb96f5aabab4bfd7e8279e950c0a7037;p=platform%2Fupstream%2Fgstreamer.git decodebin3: fix collection leak get_merged_collection() returns an owned stream collection and was leaked in the else block. Fix leak when running: GST_TRACERS=leaks GST_DEBUG="GST_TRACER:7,leaks:6" gst-play-1.0 --use-playbin3 test.mkv Part-of: --- diff --git a/subprojects/gst-plugins-base/gst/playback/gstdecodebin3.c b/subprojects/gst-plugins-base/gst/playback/gstdecodebin3.c index 514cd1a..f8a2ec4 100644 --- a/subprojects/gst-plugins-base/gst/playback/gstdecodebin3.c +++ b/subprojects/gst-plugins-base/gst/playback/gstdecodebin3.c @@ -927,8 +927,11 @@ gst_decodebin3_input_pad_unlink (GstPad * pad, GstObject * parent) SELECTION_UNLOCK (dbin); gst_element_post_message (GST_ELEMENT_CAST (dbin), msg); update_requested_selection (dbin); - } else + } else { + if (collection) + gst_object_unref (collection); SELECTION_UNLOCK (dbin); + } gst_bin_remove (GST_BIN (dbin), input->parsebin); gst_element_set_state (input->parsebin, GST_STATE_NULL);