[Bug 779053] gstplayer: Meet seek hang when trying to seek http streaming clips

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Feb 28 14:48:08 UTC 2017


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

Sebastian Dröge (slomo) <slomo at coaxion.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEEDINFO                    |RESOLVED
         Resolution|---                         |NOTGNOME

--- Comment #20 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
That looks very much like a bug in your aiurdemux, where it handles threading
wrong. Please take a look at other demuxer implement things like this.


The reason why the push function of your demuxer is not unlocked is because
it's blocked downstream. Your demuxer is supposed to unblock downstream (but
*only* for flushing seeks) by sending a flush-start event downstream when it
handles the seek. It can then wait on the stream-lock afterwards to know when
downstream is unblocked.

But look at existing demuxer implementations, their seek handlers are all
handling this more or less the same way. In any case, generally don't hold a
(especially non-recursive) mutex while pushing events/buffers
upstream/downstream, posting messages or emitting signals, this is always a
potential place for deadlocks.

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