Meta-Data-in-Ogg

Recent happenings

Tedious error checking bugs in the previous patches; now fixed, new set. 25-02-06

I've created some patches for Vorbiscomment (actually, the vcedit library it uses), that can handle tagging Vorbis in general Ogg bitstreams (previously they would clobber anything that wasn't pure Vorbis). This is good news for more than just ogg metadata. Get the patches here (also on the links page). 22-02-06

Zen has released a new version of the Illiminable Ogg Directshow filters for Windows Media Player and other applications, which (among many other things) now ignores unknown streams. 22-02-06

A second set of test files is now available, based on On The Moon by Disharmonic. The samples will be linked from the Xiph Metadata Wiki page (and possibly eventually hosted there). I've also taken the opportunity to change the RDF for the Bach samples slightly. 19-01-06

Here's a new way of getting something done in the Open Source world: release a patch that appals the developer so much they fix it themselves. Aaron Colwell (the guy who looks after Ogg support on Helix) has improved the Helix Ogg support so unknown streams are ignored. The updated plugin is available from the Xiph project at Helixcommunity. I'm taking my modifications down as they're now uneeded. 17-01-06

The changes to Helix seem to work. A JCA is on its way to Real and I'll be submitting the patch once that's done, in the meantime GPLed versions are available, here. They now include fixes for end time seeking and a bug in the null stream handler. 15-01-06

I have a copy of the Helix/RealPlayer Ogg plugin working in the presence of unrecognised streams. Submitting the patch to Helixcommunity is on hold until I get a joint copyright document off to them, but a release compiled version is available here. 10-01-06

Tested the XiphQT filters against the meta data ended test file and they work fine. 04-01-06

A few things: thanks to Arek Korbik there's a Xiph filter for Quicktime 7 on Windows and Mac (and therefore iTunes too subject to some limitations). As well as being great news in general, it happily plays and seeks in Ogg/Vorbis with XML. However I've yet to test it with:
The evil test case file which ends with the meta data end of stream. I came up with this a while ago trying to break my changes to the Helix Ogg datatype, but I haven't put it up here yet. I'll do that later today.
On the subject of Helix, I've now got a badly hacked up version of the Ogg datatype code that will not choke (even on the evil test case). Not sure when I'll get around to tidying it up though. 03-01-06

Some restructuring. Remember that everything here is a work in progress; so if you see something that seems hopelessly misinformed please tell me (email at the bottom of the page). 24-11-05

Good news: the next iteration of the Illiminable Filters already ignores unknown codecs, so one less barrier to actually adding meta data. Also got some useful feedback from Illiminable on the arguments for a binary header. 22-11-05

Looking for something to resolve the RDF/Dublin Core shortcomings I found an old Vorbis mailing list thread. The short of this is: Dublin Core is the closest to what we want for Ogg Meta-data, but it's designed as a library card rather than a cover sheet. The difference is that a library card will tell you Laurence Olivier is in a film (and maybe even that he's an actor and director), but the cover will tell you he plays Henry V. I'm not quite happy with the attribute approach taken here, but if it works and is consistent then fine. This is the point to start thinking about tools.

Amendment
Reading the RDF grammar again, it looks like this is no different to having elements with literal values as children of dc:contributor. The problem with this is that L. Olivier may play Henry V, but he doesn't always play Henry V. So is the object of dc:contributor that particular contribution, rather than the contributing entity?
21-11-05

If this turns into a blog I'll get worried. That and I'll have to redesign slightly. Things here will get added to the Xiph Wiki Meta data entry once there is sufficient concrete stuff to warrant it. 20-11-05