[Bug 747574] videodecoder: reverse playback in non-packetized decoders

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Apr 10 01:00:50 PDT 2015


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

--- Comment #5 from Víctor Manuel Jáquez Leal <vjaquez at igalia.com> ---
Since it is related, I'm' copying the comment in
https://bugzilla.gnome.org/show_bug.cgi?id=742922#c21

With the patches in bug 747574, I could make the reverse playback to work, but
its logic is not friendly with decoders that have a limited number of output
buffers (in our case surfaces):

The reverse playback in GstVideoDecoder, if I understand it correctly, gathers
a bunch of frames, traverses the list backwards, decoding each frame; finally
pushes the whole list to the next element.

The problem is that the list of frames to decoder is bigger that our number of
available surfaces. Hence, there's a moment where the decoder run out of
surfaces leading to a blocking condition, but the reversed frame list is not
decoded completely. Race condition.

We could change the logic of reverse playback in GstVideoDecoder, pushing every
frame after its decoding, but I don't know if that is correct.

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