[theora-dev] a new proposal

Michael Smith msmith at xiph.org
Wed Feb 25 21:24:59 PST 2004

On Thursday 26 February 2004 16:14, Matt Zimmerman wrote:
> On Wed, Feb 25, 2004 at 11:57:04PM -0500, Monty wrote:
> > ...sigh.  And the confusion spreads like wildfire.  We already have
> > perfect sync, Matt.
> Do you mind explaining briefly?  As of November, it was my understanding
> that Ogg could only hold media streams with One True Rate which held
> perfectly forever---no dropped frames, no DSP drift, etc.  Did things
> change since then, or does the state of the art still deal only with
> absolutely perfect streams?

Ogg stamps each page (not quite per-packet, but per-packet stamps can be 
calculated) with a "granulepos". This has a unique mapping to a time value 
(which is codec dependent, but that doesn't really matter). 

So, given a known codec (e.g. "vorbis, at 44.1kHz"), and any page (pages are 
typically no more than 4 kB - so these granulepos timestamps come along 
pretty often)), you can trivially calculate an exact time offset for that 

This has always been part of the ogg specification - it hasn't changed. Ogg 
has never had any sync problems.

So, dropped frames just miss some data - but each granulepos value is an 
absolute time offset (not relative to previous packet/page, or anything like 
that) - so once you get good frames again, you have a correct timestamp. No 
drift... ever.

Of course, players can still be broken, and it may be that there are some that 
have problems with this (I don't know, I haven't really looked into it) - but 
those players are likely to be broken with any/all media formats, not just 
ogg, because ogg has all the data neccesary to get this right.

> > Arc, I'll be in the channel tongiht to hash this out for as long as it
> > takes.  Until then, I suggest you hold off reinventing the whole world
> > because you don't understand that one that already exists.  You're
> > just going to confuse the Hell out of everyone who *hasn't* been
> > participating in the spec discussion.
> Which mailing list is said discussion taking place on?

Much of the discussion is happening on IRC (irc.freenode.net, #theora), and 
bits of the logs are in cvs to help explain things. If you want full logs, 
ask - someone should be able to send them to you.


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