[Bug 757821] New GstPadEventFunction which returns a GstFlowReturn

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Nov 9 09:11:43 PST 2015


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

Nicolas Dufresne (stormer) <nicolas.dufresne at collabora.co.uk> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |nicolas.dufresne at collabora.
                   |                            |co.uk

--- Comment #1 from Nicolas Dufresne (stormer) <nicolas.dufresne at collabora.co.uk> ---
In many cases we manage to workaround this recurrent issue by checking the
FLUSHING flag on the pad after receiving FALSE return value. Here is some
similar cases.

Because gst_pad_has_current_caps() return boolean
http://cgit.freedesktop.org/gstreamer/gstreamer/tree/libs/gst/base/gstbaseparse.c#n2461

Because gst_pad_check_reconfigure() return a boolean
http://cgit.freedesktop.org/gstreamer/gstreamer/tree/libs/gst/base/gstbasesrc.c#n2695

Because gst_base_transform_reconfigure() return a boolean
http://cgit.freedesktop.org/gstreamer/gstreamer/tree/libs/gst/base/gstbasetransform.c#n2119

Because gst_audio_decoder_negotiate_unlocked() returns a boolean (same in
encoder, same for video)
http://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/gst-libs/gst/audio/gstaudiodecoder.c#n1130

Those are not strictly the same, in the sense that it's not send_event() but
mostly negotiation function. But they are the same in the sense that there is a
boolean function that return FALSE due to a FLUSH happening at the same time.

I'm just documenting how we survived those API errors so far. But this approach
have no solution as simple as this if the flow you need to handle is
NOT_LINKED.

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