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

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Sep 6 09:38:43 PDT 2013


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

--- Comment #10 from Thiago Sousa Santos <thiago.sousa.santos at collabora.co.uk> 2013-09-06 16:38:36 UTC ---
(In reply to comment #8)
> (In reply to comment #7)
> > (In reply to comment #5)
> > > Review of attachment 254150 [details] [details] [details]:
> > > 
> > > Looks sensible but:
> > > 
> > > ::: gst/isomp4/qtdemux.c
> > > @@ +1907,3 @@
> > > +      GST_DEBUG_OBJECT (demux, "Stored seek seqnum: %u, received segment "
> > > +          "seqnum %u", demux->push_seek_seqnum, seqnum);
> > > +      if (seqnum == demux->push_seek_seqnum) {
> > > 
> > > Instead of comparing the seqnum it should already be enough just compare the
> > > start position
> > 
> > Just to make sure I understood your comment: Store the seek start position (in
> > bytes) and use that instead of the seqnum? Likely because other elements might
> > not preserve the seqnum?
> 
> Yes, and also because you don't care if it's the same seqnum or not. You only
> really care about the start position.
> 

For being absolutely sure the seek is the same, it would also be needed to
compare the start and stop offsets in bytes. Given that most demuxers don't
know how to convert the time into bytes for the stop position very well, I'd
think it is simpler to rely on the seqnum of the events. It is usually very
simple to fix events to use the same seqnum in case we find some that isn't
doing it.

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