[Bug 796737] ASYNC_DONE message is dropped leading to hanging application

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Jul 11 11:27:32 UTC 2018


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

--- Comment #10 from Joakim Johansson <Joakim.Johansson at axis.com> ---
We are not waiting until PAUSED state is reached.

However the pads for the recordingdemuxbin is blocked before the seek
operation.

As we perform seeking on recordingdemuxbin, we have to block its pads to
prevent any buffers/events to reach sink element.

But now when I look closer to the code, then do I realize that the sink is
linked to the muxer when the first pad is blocked and the state is at this time
synchronized with: 
gst_element_sync_state_with_parent (pb->muxer);
gst_element_sync_state_with_parent (pb->sink);

Maybe is this causing the race condition and that the race condition could be
avoided by a different implementation in the application, for example waiting
with linking the sink until after the preroll buffer is received after the
seek.

I will see if I can solve our problem from the application side, but then
again, you still have a race condition in gstreamer where the async_done can be
dropped.

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