OggVorbis QuickTime component

The Xiph QuickTime Components Project, 25 Nov 2005

... or - "Do you like fish?" ;)

Finally it is here! I mean... there. The new QuickTime components for your Ogg and Vorbis files! And your Speex files. And soon your FLAC files... and who knows what else? And Win32 platform support soon, too.

Well, there is quite a bit of information on the project pages, so why don't you check it out? The address is: http://www.xiph.org/quicktime/.

And yes, those nice people from Xiph.Org Foundation agreed to "take me under their wings" (if you don't have any Polish speaking friends - it's time to find one now) and host the project and... well, everything! And since it's kind of strange to write the following on the new project pages, I write it here: "Thank you xiph.org guys very much indeed!"

Now. All the interesting activity will be reflected (and can be tracked) on the XiphQT webspace. So this is one of the last updates on this page. I mean - until I turn it into a versioned, auto-generating, rdf/rss-enabled and what-only-not-else proper blog, that is. But that will probably be completely another story...

One more thing:

If you found your way here to download the OggVorbis QuickTime component revision 45 or 24 please consider using the new XiphQT components - that's where the development continues.

I no longer work on the software you can find here. Thank you.

The "Not The Update, yet...", 20 Nov 2005

There was supposed to be The Update here, this weekend - which this isn't. I don't like talking about, and promising, things in advance. And things are just not completely ready yet.

However, to save people's time: If you are doing any kind of development using the code I published here, especially if you are working on a Windows port - please hold on your efforts for a couple of days. A new project (including Ogg and Vorbis, of course) is in the very last stage of preparations. Nearly completely new code, including Win32 version this time, too.

Everything should be ready in a couple of days. And then the details will be here.

Page has moved, 12 Nov 2005

The page location, as you have probably noticed by now, has changed. The new address is: http://www.barelyfocused.net/_old/oggvorbis.html.

It is possible that the files will disappear from the old server soon, so please update your bookmarks, if you have any.

Besides, it is also very possible that this page soon will not be needed at all. Some "major" changes coming, I would say... Watch this space.

Revision 45: Update, 19 Oct 2005

QuickTime unknown error (-50); "can't open library: @loader_path/../Frameworks(...)" log messages

If the revision 45 doesn't work for you (you see the above error in QuickTime Player or console/system log files contains dyld error messages after you try to play ogg files in iTunes) and you are on a pre-10.4 system, please install the frameworks from revision 24.

Revision 45, 3 Oct 2005

The files.

What has changed since r24. What is working and what is not.

Metadata. Now uses a (potentially) user-configurable property-list file (MetaDataConfig.plist). Seems to work in QT Player. iTunes ignores some of the tags, such as track number, or the title (!!), but at least it uses album and artist names. (What's interesting, iTunes doesn't seem to use title metadata at all for more QT imported file formats than just Ogg/Vorbis! Try adding some trailer from official Apple trailers page to your iTunes library. So, It does appear to be iTunes problem/feature.)

Seeking, pausing, skipping. Some fixes regarding interruptions, dropped pages and seeking in general. There are, sometimes, audible artifacts on the boundaries of the non-consecutive packets, which is to be expected. However, it doesn't happen with the mp3 files... Or does it? Well, at least seeking now doesn't stop playback, as could happen with the previous version.

Fixed some small bugs and memory leaks.

Streaming. I did try. ;) In QuickTime Player, the component will usually download ogg pages, and put them into QT tracks, but if the file size is unspecified (as is the case with streaming) it will not play anyway. Importer works properly, and decoder is being set-up, but then QT Player just doesn't ask for decoded samples. And you usually can't even save the stream. If you manage to save, though, you can play the file. If the file contains multiple (chained) logical ogg/vorbis streams - the component, at the moment, inserts them all at time 0. So you can save time listening to all the tracks at once. :D Well, this is one of the many things to work on...

Streaming in iTunes. Still doesn't work. It doesn't try to use the codec, at all. Just displays the stream as 'mpeg audio' and apparently fails do decode it as such.

In my experience, iTunes always imports ogg files synchronously, and sometimes does it multiple times per one file (!?). This means there will be slight delay before playback of each file, while iTunes imports the file. I suppose it may mean an even less slight delay on a non-local storage media. Well...

Equaliser and visualisation in iTunes. I'm not sure it's not only me, but none of the non-iTunes formats (so, all the external QT-imported file formats) seems to work with equaliser nor visualisation in iTunes on my machine. On the other hand, QT Player has no problems with displaying real-time (well, slightly less 'real' while importing) frequency levels during playback...

Windows version. Hopefully someone can take the source and adapt it to compile on Windows platform. The old code still has the conditional parts for Win32, but not the new parts. Can you have bundles on Windows too? How about property-lists? Well, anyone?

Build notes.

Just extract the Vorbis and Ogg library sources in the same directory as the component source. The directory names should be 'libvorbis' and 'libogg' respectively, so rename or symlink as needed.

Frameworks. Being a born core command-line Linuxian I though it's not that difficult to copy two files to one specified folder. But I guess it may be true that Mac is a different planet, after all. So in this release the Ogg/Vorbis frameworks are distributed inside the component bundle. (If anybody is interested - the project file using external xiph frameworks is here.)

For the project file with external frameworks, put built (for example, from the previous binary release) frameworks in one of the standard locations, preferably ~/Library/Frameworks.

At the moment, all the build configurations are in the Xcode (2.1) project file. So, no makefiles at the moment. Sorry.

Revision 24, 19 Sep 2005

The files.

Notes.

If you really, really need the source code for this revision, please contact me using the e-mail address at the bottom of this page.

Copyright (c) 2005 Arek Korbik