[Bug 728345] queue2: recent patch to avoid deadlock deadlocks
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Wed Apr 16 07:21:17 PDT 2014
https://bugzilla.gnome.org/show_bug.cgi?id=728345
GStreamer | gstreamer (core) | git
Vincent Penquerc'h <vincent.penquerch> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |vincent.penquerch at collabora
| |.co.uk
Resolution| |FIXED
--- Comment #1 from Vincent Penquerc'h <vincent.penquerch at collabora.co.uk> 2014-04-16 14:21:14 UTC ---
Approved by wtay on IRC.
commit f3dd7937a255461afd78fed8e7645d8976b559da
Author: Vincent Penquerc'h <vincent.penquerch at collabora.co.uk>
Date: Wed Apr 16 15:17:04 2014 +0100
queue2: fix event/preroll deadlock differently
The qlock is released between popping a buffer from the queue
and pushing it. When this buffer causes the sink to wait in
preroll, this lets a query see that the queue is empty, and
push the query then wait for it to be serviced. However, this
will not be done till after peroll, and this will thus block.
If upstream was waiting on buffering to reach 100% before
switching to PLAYING, a deadlock would ensue.
This had been fixed recently by failing queries when the
queue2 was buffering, but this happens to break some other
case (playbin on a local http server and matroska), while
this patch works for both.
See https://bugzilla.gnome.org/show_bug.cgi?id=728345
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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