[Bug 773341] urisourcebin: Cleanup unused output slot

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Sat Oct 22 06:00:39 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=773341

--- Comment #5 from Seungha Yang <sh.yang at lge.com> ---
Current urisourcebin is disabling the call of free_output_slot (), because
streaming thread cannot cleanup its output pad itself.
This must be leak....


It can be reproduced with playbin3 and following MPD. 
(one parsebin does not be destroyed in the 2nd period)
http://dash.edgesuite.net/dash264/TestCases/5b/nomor/3.mpd

The details of the MPD is that,
      [1st Period] 2nd Period][3rd Period]
|Video| Available | Available | Available |
|Audio| Available |    N/A    | Available |

When period was progressed from the 1st to the 2nd, there are 2 bugs.

[bug 1] urisourcebin did not clean up output slot.
For this, I introduced new GstTask and BUS to call free_output_slot () at
another thread (not in the streaming thread).

[bug 2]
urisourcebin tried to send CUSTOM_EVENT "urisourcebin-custom-eos" toward
already EOSed pad. For this, I made a change to trigger cleaning up task with
pad_removed callback (without "urisourcebin-custom-eos")

Please refer to following log

- dashdemux sent EOS to audio path at the end of the 1st period
0:00:08.102531554 11983 0x7f8ba801e990 DEBUG              GST_EVENT
gstpad.c:5549:gst_pad_send_event_unchecked:<queue2-2:sink> have event type eos
event: 0x7f8b7807e8e0, time 99:99:99.999999999, seq-num 4664, (NULL)

- Then, audio pad of dashdemux is destroyed with pad_removed callback, and then
urisourcebin tried to send CUSTOM_EVENT but it's discarded.

3329 0:00:09.036514940 ^[[332m11983^[[00m 0x7f8ba801ee30 ^[[33;01mLOG    ^[[00m
^[[00m        urisourcebin
gsturisourcebin.c:1350:pad_removed_cb:<dashdemux0>^[[00m Pad
<dashdemux0:audio_00> was removed without EOS. Sending.
3330 0:00:09.036529752 ^[[332m11983^[[00m 0x7f8ba801ee30 ^[[37mDEBUG  ^[[00m
^[[00;01;34m           GST_EVENT
gstpad.c:5549:gst_pad_send_event_unchecked:<queue2-2:sink>^[[00m have event
type custom-downstream event: 0x7f8b8c002ca0, time 9     9:99:99.999999999,
seq-num 5300, urisourcebin-custom-eos;
3331 0:00:09.036537779 ^[[332m11983^[[00m 0x7f8ba801ee30 ^[[36mINFO   ^[[00m
^[[00;01;34m           GST_EVENT
gstpad.c:5675:gst_pad_send_event_unchecked:<queue2-2:sink>^[[00m Received event
on EOS pad. Discarding

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list