[Vorbis] Xiph QuickTime Components project announcement

Ralph Giles giles at xiph.org
Mon Nov 28 10:46:36 PST 2005


On Mon, Nov 28, 2005 at 04:24:31PM +0000, Ian Malone wrote:

> [2] Two issues, both relating to the presence of meta-data packets in
>     the header section:
>     1. The meta-data packets are, from a point of view, data packets
>        and thus do not belong in the header.  My own view is that
>        since they do not have an associated time their granulepos
>        should be zero, which marks them out for being in the header.
>     2. The presence of an eos in the header, which could mess up
>        codec set-up logic.  But it seems harmless from the PoV of
>        what I'm (occasionally) trying to do to Helix and is
>        actually beneficial from the libvorbisfile PoV.

Unless something's changed from what you described before, this is fine. 

There are two "header" levels in Ogg best-practices. The first packet, 
with the bos must be in a page by itself, and that page must be grouped 
with all the other bos pages to allow all the multiplexed streams to be 
quickly identified.

This set of bos pages is followed (for some codecs) by a set of 
additional header packets with granulepos 0. These should also end
on a page boundary, and will be grouped because of their granulepos
before any time-based data occurs. It's good to arrange things this
way because players can find information they need for playing the
segment by just searching for the beginning and reading forward. 
Having an eos marker for some stream within that group is legal.
(So is having it on the initial bos page too, but so far no one's 
had that little information to include. :)

Only having non-bos data packets in the bos page, having a bos page 
follow a non-bos page (except at a chain boundary of course) or not
ordering the pages by the time represented by their granulepos would
be errors.

FWIW,
 -r



More information about the Vorbis mailing list