[FFmpeg-devel] Order of demuxed packets after a seek in an ogg container.

Aaron Colwell acolwell at chromium.org
Tue Jul 1 20:54:17 CEST 2014


On Mon, Jun 30, 2014 at 4:20 PM, Monty Montgomery <xiphmont at gmail.com>
wrote:

> > Ogg is "interleaved" at the page level and by "end timestamp" so weird
> > situations can occur where the page that contains the seek point actually
> > has pages before it that cover the same part of the timeline.
>
> Continuous streams (audio, video, anything with a regular timebase)
> are arranged so that at any given granule position, all data you need
> to decode any future timestamp is ahead of you.
>

Isn't this only true if a page in one stream never overlaps the same time
range covered by 2+ pages in another stream? I realize this may not be best
practice, but I don't believe it is forbidden either.
Also, even if you do find a page with a granule pos <= the desired time,
don't you still need to scan backwards to make sure that it is the first
one with such a value?

Aaron


More information about the ffmpeg-devel mailing list