[ogg-dev] Header packet multiplicity

Ralph Giles giles at xiph.org
Wed Feb 13 16:52:59 PST 2008

On 13-Feb-08, at 4:38 PM, Conrad Parker wrote:

> That's likely why we made sure to put a nr_headers field in skeleton,
> so that it's simple to keep track of which of a streams packets are
> headers. At the time though we were only really dealing with vorbis,
> theora, and speex; the first two have a fixed nr of headers (3) and
> the last has 2+extra_headers, where extra_headers can be read from the
> bos page.

Theora technically allows more than 3 headers, but the first three  
are required to occur in order, and no one has defined any others. So  
the 0 granulepos and/or the encoder setting nr_headers in the  
skeleton are a more reliable guide of where to cut.

> To further make it clear, skeleton puts its eos page, with a 0 length
> packet, in between the last header and the first data page of the
> stream.

Cool, I hadn't noticed that convention.


More information about the ogg-dev mailing list