[Bug 791091] New: videodecoder: Only drain if the internal queue is not empty

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Dec 1 15:05:03 UTC 2017


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

            Bug ID: 791091
           Summary: videodecoder: Only drain if the internal queue is not
                    empty
    Classification: Platform
           Product: GStreamer
           Version: 1.13.x
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-base
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: nicolas at ndufresne.ca
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Right now we drain, and drain, and then start playback. This makes very little
sense, since nothing has ever been queued into the decoder yet. On seeks we do
finish(), flush(), drain(). We are basically over telling the decoder to
drain() here, because after finish() + flush() the decoder should be pretty
drained already.

I didn't yet had time to write the patch, seems mostly trivial, but what I'm
suggesting is to read the queue size before sending a drain. This we we don't
have to do this check in every subclass. Some decoder don't really do this
check, and the most common side effect is a slow start (specially for hardware
decoders).

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