[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