[Bug 785951] New: urisourcebin/decodebin3: Don't use custom EOS events

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Aug 7 15:34:39 UTC 2017


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

            Bug ID: 785951
           Summary: urisourcebin/decodebin3: Don't use custom EOS events
    Classification: Platform
           Product: GStreamer
           Version: git master
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-base
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: bilboed at bilboed.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

(Note: reproducible with seek_with_stop validate scenarios and playbin3)

urisourcebin and decodebin3 make usage of GST_EVENT_CUSTOM_DOWNSTREAM events
replacing the actual GST_EVENT_EOS to decide later on whether the EOS event
should be forwarded or not.

The problem with this is that queue/multiqueue/queue2 will drop any
non-{EOS|SEGMENT} events if the downstream flow return is GST_FLOW_EOS.

This results in hangs because:
1) upstream (say adaptivedemux) pushes GST_EVENT_EOS once it's done pushing
buffers (of which there is slightly too much, causing a downstream decoder/sink
to return GST_FLOW_EOS).
2) urisourcebin/decodebin3 converts that EOS to a GST_EVENT_CUSTOM_DOWNSTREAM
and pushes it through queue2 and multiqueue elements
3) => Those custom events get dropped because GST_FLOW_EOS was previously
returned
4) => Actual EOS events never reaches sinks
5) => hang

I am failing to remember the reason why we used custom downstream events
instead of actual EOS. 

The ideal way forward would be to just use regular EOS events to which we add a
custom field in the event gststructure (gst_structure_set(eos_event_structure,
"urisourcebin", G_TYPE_BOOLEAN, TRUE, NULL).

-- 
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