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

Monty Montgomery xiphmont at gmail.com
Tue Jul 1 01:20:28 CEST 2014


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

This is not true of discontinuous streams, for example, subtitles.

> I think the logic that finds the page for a specific stream is fine, but I
> think once it has found that page, it needs to walk back a page or more to
> make sure that none of the previous pages also contain data for the desired
> seek point.

For continuous streams it's unnecessary, and for discontinuous
streams, it's an unbounded search.

Is there a specific scenario you have in mind?

Monty


More information about the ffmpeg-devel mailing list