Re: Quicktime support for Core Audio AudioFileFormat components.
Re: Quicktime support for Core Audio AudioFileFormat components.
- Subject: Re: Quicktime support for Core Audio AudioFileFormat components.
- From: Nathaniel Gray <email@hidden>
- Date: Wed, 14 Sep 2005 18:27:09 -0700
On 9/14/05, Brad Ford <email@hidden> wrote:
>
> On Sep 14, 2005, at 11:21 AM, Nathaniel Gray wrote:
>
> > Hello Quicktime folks,
> >
> > Like a lot of folks out there I would like to have first-class support
> > various open audio codecs in OS X. My short-term desire is to be able
> > to play Ogg Vorbis files in iTunes, for example. As I'm sure you are
> > aware, the Ogg Vorbis components from qtcomponents.sf.net didn't
> > survive the transition to QT 7, and the project appears to have been
> > abandoned.
>
> "Didn't survive" is a little harsh. I've heard rumblings for a while
> that Ogg Vorbis was broken in the transition to QT 7, but could
> neither confirm nor deny -- so I built the projects and ran some test
> files and found that:
>
> 1) the Ogg 'eat ' component (.ogg -> QT movie importer component) is
> working just fine. It parses ogg files and creates QuickTime movies
> in memory which have correct durations and can be stepped through and
> saved as QuickTime movies.
This is great news! Thank you very much for testing this.
> 2) the crashing is in the vorbis 'sdec' component when trying to play
> back audio. QuickTime now uses CoreAudio structures (i.e. Audio
> Converters) to play back movies instead of Sound Manager structures
> (i.e. SoundConverter). Ogg, as I understand it is a variable bit
> rate, variable duration codec, and in order to be played back
> correctly by CoreAudio, it really needs to be recast as an AudioCodec
> ('adec' and 'aenc').
Yes. This is something that I feel capable of doing, and there are
others working with me who are probably also well qualified.
> 3) The Ogg 'spit' component (QuickTime movie -> .ogg file exporter
> component) is working just fine. I am able to open QuickTime movies
> and export them to .ogg files just fine. These files play back
> properly in VLC.
Also very good news!
> In short, the only piece that appears to be broken right now is the
> decoder. Writing one component is a lot easier than writing 4. And
> it appears the more difficult eat and spit components are already
> working correctly, so you don't need to go there.
This is wonderful. I believe this means there's a good chance we'll
have Ogg Vorbis/FLAC/etc support back in OS X soon. :-)
> > At the moment, it appears that to get complete support for an audio
> > codec in OS X you need:
> > * a Core Audio AudioCodec for the audio stream format (e.g. vorbis)
> > * a Core Audio AudioFileComponent for the container format (e.g. ogg)
> > * 'eat ' and 'spit' quicktime components for the container format
> >
> > The purpose of the AudioFileComponent part overlaps to a large degree
> > with the eat/spit quicktime components. If all you care about is
> > audio then the AFC and AC should be sufficient. Furthermore, it's
> > much simpler to write an AFC than it is to write eat/spit components.
> > Bill Stewart from Core Audio has suggested that the plan is for QT to
> > eventually support AudioFileComponents.
>
> We definitely do want to support AudioFileComponents generically. In
> QT 7 we already do provide partial support for AFC's (we can, for
> instance, import .caf, .aac, and .adts files). But again, you don't
> need to worry about AFC's. The Ogg project already has working eat
> and spit components. So you can already read and write Ogg files.
> You just need an 'adec' to decode vorbis properly in an
> AudioConverter world, and perhaps an 'aenc' to encode vorbis --
> likewise using the AudioConverter API's. CoreAudio provides
> excellent soup starter code for AudioCodec writing -- providing a
> sample codec (IMA) implementation in their SDK. Check it out.
Yeah, we've been using the IMA codec as our starting point for the vorbis codec.
Thanks a million for checking this out for us. You've made my day!
Cheers,
-n8
--
>>>-- Nathaniel Gray -- Caltech Computer Science ------>
>>>-- Mojave Project -- http://mojave.cs.caltech.edu -->
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden