[Bug 707530] qtdemux: Handle segments correctly in push mode seeks

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Sep 9 06:52:37 PDT 2013


https://bugzilla.gnome.org/show_bug.cgi?id=707530
  GStreamer | gst-plugins-good | git

--- Comment #15 from Thiago Sousa Santos <thiago.sousa.santos at collabora.co.uk> 2013-09-09 13:52:32 UTC ---
(In reply to comment #14)
> (In reply to comment #12)
> > Because it is also important to track the stop position, this information is
> > currently being lost in most demuxers upstream
> 
> Yes, so you keep the stop position from the seek and instead of comparing the
> seqnum you would just compare the seek start position :)

We need a plan to fix all demuxers regarding this. The only one that is correct
is matroska that rejects seeks in push mode if stop != -1. All others simply
set stop duration to -1 and ignore what was requested on seek.

I propose the following plan:

* Always store the start/stop/seqnum of the seek

* If the demuxer already uses the start position to track the seek, use that to
keep backwards compatibility, otherwise use the seqnum. Is there any reason not
to use the seqnum other than backwards compatibility?

* Make sure demuxers push buffers after stop position until they reach the next
keyframe

What do you think?

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