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

Aaron Colwell acolwell at chromium.org
Tue Jul 1 22:05:07 CEST 2014


On Tue, Jul 1, 2014 at 11:54 AM, Aaron Colwell <acolwell at chromium.org>
wrote:

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

Scratch this last statement about scanning backwards. I was confused and
thinking in terms of start time instead of page end time.


More information about the ffmpeg-devel mailing list