[Vorbis] metadata

Ralph Giles giles at xiph.org
Wed Sep 28 10:37:21 PDT 2005


On Wed, Sep 28, 2005 at 04:14:03PM +0100, Ian Malone wrote:

> >Metadata OTOH:
> >I'll have to read the Ogg description.  My understanding is that
> >is possible to drop in a raw (preferably utf-8) XML document as a
> >single page of a separate stream to the Vorbis data (and check that
>          ^^^^              ^
>          packet            logical

yes, separate logical stream in a group.

Right, not a single page. But not really a single packet either.
Certainly you want everything at the beginning of the stream, though 
there are other models: CMML distributes time-associated metadata 
throughout the stream, in part so you can create it live.

The best thing to do is to put the doctype and any single toplevel 
element in the first packet for stream id, followed by the rest of
the  doc using the streaming xml rules (a la XMPP) so if any packet
is missing (except for the eos, which it must be possible to 
regenerate)  you still have a valid xml document. So two or three 
packets, and however many pages that works out to (but at least 2).

> "The Ogg/Vorbis I specification currently dictates that Ogg/Vorbis
> streams use Ogg transport streams in degenerate, unmultiplexed form
> only."
> 
> Should I test and see what happens?  Assuming current players use
> libogg, will they see separate logical streams?  I'd imagine even
> if they don't have problems with that, a meta-header will break
> things.

Yes, this is a serious issue. I've always considered this a spec bug. 
Basically, libvorbisfile needs to be rewritten to support multiplexed
streams, and no player that currently uses it will handle these files.
What happened is, we broke the spec by adding the above out instead
of fixing vorbisfile for the 1.0 release. So Ogg allows it, but the
Vorbis spec allows one to not implement it. 

On a more positive note, now that theora is around many players are 
writing real Ogg muxers, so it will work properly with something using
for example GStreamer, Helix or the DirectShow filters. There's nothing
to be done but push the upgrade through, I think.

 -r


More information about the Vorbis mailing list