GNOME Bugzilla – Bug 769270
decodebin3/playbin3: fix ref handling
Last modified: 2016-08-04 09:19:07 UTC
.
Created attachment 332278 [details] [review] decodebin3: fix collection ref handling gst_stream_collection_add_stream() consumes the collection reference passed to it but gst_stream_collection_get_stream() is (transfer none). Fix this pipeline: playbin3 uri=http://127.0.0.1:8079/defaults/exMPD_BIP_TC1/exMPD_BIP_TC1.mpd
Created attachment 332279 [details] [review] decodebin3: don't leak alternate inputs Fix leaks (including parsebin elements) with this pipeline: playbin3 uri=http://127.0.0.1:8079/defaults/exMPD_BIP_TC1/exMPD_BIP_TC1.mpd
Created attachment 332280 [details] [review] decodebin_next: fix caps and tags leaks The getters are (transfer full).
Created attachment 332469 [details] [review] decodebin3: consume select-streams event
Created attachment 332472 [details] [review] decodebin3: fix tag list leak
Created attachment 332474 [details] [review] decodebin3: fix output->decoder_{sink,src} leak output->decoder_sink and output->decoder_src are both going to be replaced in the 2 branches of the following 'if'.
Review of attachment 332279 [details] [review]: ::: gst/playback/gstdecodebin3.c @@ +631,3 @@ + + free_input (dbin, input); + dbin->other_inputs = g_list_delete_link (dbin->other_inputs, walk); or just use g_list_free_full(dbin->other_inputs, free_input) ?
In the meantime I pushed the others : commit 487ef12fd129428faf11736967922905523302c0 Author: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> Date: Mon Aug 1 13:35:16 2016 +0200 decodebin3: fix output->decoder_{sink,src} leak output->decoder_sink and output->decoder_src are both going to be replaced in the 2 branches of the following 'if'. https://bugzilla.gnome.org/show_bug.cgi?id=769270 commit acbaa83450d13d20e4851ab5fa959166688b5add Author: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> Date: Mon Aug 1 12:37:43 2016 +0200 decodebin3: fix tag list leak https://bugzilla.gnome.org/show_bug.cgi?id=769270 commit 0b77ede0791bb354b7cb72b00a1db5eaa269d3c0 Author: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> Date: Mon Aug 1 12:28:20 2016 +0200 decodebin3: consume select-streams event https://bugzilla.gnome.org/show_bug.cgi?id=769270 commit 12c268b7c5ed988666315718b4df789648222472 Author: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> Date: Thu Jul 28 15:44:27 2016 +0200 decodebin_next: fix caps and tags leaks The getters are (transfer full). https://bugzilla.gnome.org/show_bug.cgi?id=769270 commit ba74c06721a64c9b84f94f247066006fa2a56b84 Author: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> Date: Thu Jul 28 14:46:34 2016 +0200 decodebin3: fix collection ref handling gst_stream_collection_add_stream() consumes the collection reference passed to it but gst_stream_collection_get_stream() is (transfer none). Fix this pipeline: playbin3 uri=http://127.0.0.1:8079/defaults/exMPD_BIP_TC1/exMPD_BIP_TC1.mpd https://bugzilla.gnome.org/show_bug.cgi?id=769270
Review of attachment 332279 [details] [review]: ::: gst/playback/gstdecodebin3.c @@ +631,3 @@ + + free_input (dbin, input); + dbin->other_inputs = g_list_delete_link (dbin->other_inputs, walk); Nope because free_input() takes GstDecodebin3 as first argument.
ah, of course. commit f66e6839c5a9ddd67b492a38194535fcb294d584 Author: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> Date: Thu Jul 28 15:04:01 2016 +0200 decodebin3: don't leak alternate inputs Fix leaks (including parsebin elements) with this pipeline: playbin3 uri=http://127.0.0.1:8079/defaults/exMPD_BIP_TC1/exMPD_BIP_TC1.mpd https://bugzilla.gnome.org/show_bug.cgi?id=769270