[Bug 765736] New: multiqueue: playback with sparse stream deadlocks

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Thu Apr 28 17:14:10 UTC 2016


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

            Bug ID: 765736
           Summary: multiqueue: playback with sparse stream deadlocks
    Classification: Platform
           Product: GStreamer
           Version: git master
                OS: All
            Status: NEW
          Severity: major
          Priority: Normal
         Component: gstreamer (core)
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: matej.knopp at gmail.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Created attachment 326958
  --> https://bugzilla.gnome.org/attachment.cgi?id=326958&action=edit
Patch

Basically, sq->max_size.visible is never increased for sparse streams in
overruncb when empty queue has been found; 

This code inside single_queue_overrun_cb doesn't seem right

  /* check if we reached the hard time/bytes limits */
  if (sq->is_eos || sq->is_sparse || IS_FILLED (sq, bytes, size.bytes) ||
      IS_FILLED (sq, time, sq->cur_time)) {
    goto done;
  }

If the queue is sparse it just skip the entire logic determining whether
max_size.visible should be increased, deadlocking the demuxer.

I think what should be done instead is that when determining if limits have
bean reached, to ignore time for sparse streams, as the buffer may be far in
the future.

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