[theora-dev] A/V sync in Theora
Ralph Giles
giles at xiph.org
Fri Jun 13 07:35:02 PDT 2003
On Thursday, June 12, 2003, at 08:32 pm, Sam Leitch wrote:
> granule_position is not an absolute, which means timing information
> must be stored and processed at a higher level.
Using absolute timestamps for the granulepos is certainly an option and
was considered, but it was decided to go with a fixed framerate. There
are tradeoffs in any design and in the end you have to pick some
abstraction. In this case Monty felt the extra complexity wasn't worth
it.
> That begs the question. Who is responsible for synchronization? Ogg,
> Vorbis/Theora, or the player software.
The player software. The idea is for the bitstream to be the dumb part
because it's the part that changes the least. So the vorbis codec
provides blocks of audio intended to be played back at a fixed rate,
and theora codec provides a series of frames intended to play at a
fixed rate. It's the player's job to output that data in way that the
relative rates match well enough to maintain sync.
Put another way, clock drift in the source video is the encoder's
problem, and clock drift in the output devices is the playback
software's problem
Hope that helps,
-r
--- >8 ----
List archives: http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'theora-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body. No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.
More information about the Theora-dev
mailing list