I mailed someone at Apple about the possibility of native OGG support in iTunes or QT. Although iTunes' package contents includes icons for OGG files (and even WMA), it's very unlikely that this will happen in a near future. The reasons aren't technical, but are to be searched in the realm of lawyers of producers of non-free audio codecs. Although OGG is designed to be free of patented stuff and they don't have any solid proof, they may still try to sue people just for the sake of it, if a large company tries to take the format beyond the small user base that it covers today.
So if we want OGG support back in Tiger, we'll have to write a new codec ourselves. I found the CoreAudio SDK on the Apple developer site, which contains sample code for an Audio codec. If I ever have time for this, I'll see what I can do, but don't expect anything soon unless someone else wants to try it.
Matthew A Rhodes
Well, i kinda suspected as much. Anywho, I am done with my thesis (cross fingers) by december. I really want ogg support, so if there isnt a codec by the time im done, I will tackle it. Good news is that doing it as a codec, as it should have been done the first time around, will mean that it will be compatible with future versions. It also means that we will have abilities such as album cover art and such. Anywho.. I hope someone (s) can come up with some nice AltiVec optimized code for an Ogg codec before december.. Shark in XCode is awesome for the optimizations.... but like i said, il start workin on it after i graduate. Expect work to start in January if one hasnt been done already.
Indeed, if we have a real Audio Codec, we can use Ogg anywhere, e.g. as soundtrack for a movie file. Streaming would probably also work, and the annoying delay when opening files would be gone. To enable cover art, however, you would probably need to encapsulate your Ogg music in an AIFF file, since there is no real provision in the Ogg format to store images. Xiph.org says images don't belong in music files anyway, and I actually agree with that.
I suppose that in addition to the audio codec, we'll still need something like the current QuickTime component to be able to open plain .ogg files, because they're not QuickTime files. I don't think an Audio Codec can specify how to import non-QT files, but I may be wrong.
I just did a quick test and made my own 'codec' by just replacing some names in the sample code, and it works. So making a basic codec shouldn't be too hard.
I discovered that there is a sample Audio Codec in the Developer folder. It's in Examples/CoreAudio/AudioCodecs/. This would be a good place to start... In theory it would be a simple as plugging in the right functions in the right places. Of course in reality it will be a bit more complex than that.
How much time do you expect to need?
You may be interested to know that there is a bounty being offered for the creation of a QuickTime component which supports the Xiph codecs:
I don't know how big the bounty is, but I have contributed $50 so it's at least that ;). If anybody else wants to contribute to the bounty, donate some money to Xiph.org by following the instructions on this page:
And send them a note along with the money saying that you want the money to go towards the Xiph QuickTime Component bounty. (You can send a comment along with PayPal donations.)
For coding help, the Vorbis and QuickTime mailing lists would be good places to ask questions:
That's very interesting indeed. I assume, however, that the bounty will only be given if all specifications are met? I think support for chained streams will especially be problematic. I would be happy already with something that re-enables me to play .oggs in iTunes and QuickTime :)
Anyhow, I have very little time to work on this, so it's more likely that I'll just contribute to the bounty too, and hope that someone (like jetcowbob) manages to bring back Ogg support to the Mac community in the near future.
That bounty had better be pretty big for all the work they'd like. I think a more reasonable task like "Get iTunes to play OGG Vorbis" would be much more appropriate.
Incidentally, I don't see what use a "bounty" is if they don't say how much there is. Anyone with the ability to code that up is not going to do all that work for a "bounty" that may turn out to be only $50 or $100.
I contributed $20, so it's at least $70 now :) But it would be more useful indeed if they said what the current bounty is.
The Xiph Foundation hasn't actually decided how much money to put towards each bounty yet. Also, remember that it is entirely volunteer-run: everyone is busy, and doing things like updating the wiki are lower priority than say, rolling out the next release of libvorbis.
I'm sure they would be happy to negotiate on splitting the bounty into sub-bounties -- just ask on IRC or a mailing list.