[Bug 722901] New: Add signal to avoid deadlocks in multiqueue

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Jan 24 03:50:59 PST 2014


https://bugzilla.gnome.org/show_bug.cgi?id=722901
  GStreamer | gstreamer (core) | git

           Summary: Add signal to avoid deadlocks in multiqueue
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: perxjoh at axis.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


When multiqueue is used in a pipeline with an element with collect pads after
the queue, there is a risk for deadlocks with badly muxed content, or content
with missing frames in one stream.

This happens when one queue is filled to the byte or time limit so that it
can't be grown and therefor blocking a write, and at the same time an other
queue is empty. The collect pads are then waiting for for data from the empty
queue before reading anymore from the filled queue, but that will never arrive
since the writing thread is blocking on the full queue. The result is a
deadlock.

I have added a new signal hard_overrun that is sent in the case where one queue
is filled to the hard byte or time limit and another is empty.

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