[Bug 795424] qtdemux: Add MSE-style flush

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Apr 23 12:52:51 UTC 2018


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

Thibault Saunier <tsaunier at gnome.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |tsaunier at gnome.org

--- Comment #6 from Thibault Saunier <tsaunier at gnome.org> ---
(In reply to Alicia Boya García from comment #5)
> (In reply to Sebastian Dröge (slomo) from comment #4)
> > Why is the normal flushing not sufficient?
> 
> Flushing as is currently implemented (let's call it "jump-style flush") in
> qtdemux is not designed to work by itself, but only in response to a seek.
> qtdemux receives a seek to a time position, finds the frame in the sample
> table, rewinds its internal pointers to its offset and emits a byte seek
> upstream to the offset of the first frame to be decoded after the seek. When
> upstream flushes, qtdemux knows it is reading a frame. Note even though this
> kind of flush technically comes from upstream, it's always a direct
> consequence of qtdemux itself performing a byte seek.

To me this is the bug, flushing is not necessarily the consequence of a seek
and elements can't react as if it was always the case. The fix is probably to
check the seqnum of the flush-stop event, if it is not the same as the previous
seek, you flush the way you do in that patch, otherwise you keep current
behavior.

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