Mailing Lists: Apple Mailing Lists
Image of Mac OS face in stamp
Re: Quicktime support for Core Audio AudioFileFormat components.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Quicktime support for Core Audio AudioFileFormat components.

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 didn't
survive the transition to QT 7, and the project appears to have been

"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.

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').

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.

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.

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.

-Brad Ford
QuickTime Engineering

As somebody who is thinking about trying to write the code, I can tell you that such support would make me *very* happy indeed. In fact, since I'm doing this on a volunteer basis and I have other obligations, if I need to write the eat/spit components it may not be feasible for me to do the project at all. I suspect I'm not the only one in this situation -- the learning curve for the quicktime API seems to be fairly steep.

So the point of this message is half question and half request.  Can
anybody estimate when QT will support AudioFileComponents?  Are we
talking about years, months, or weeks?  And now my request: how about
making it weeks instead of years?  :-)  I think it would lead to many
new audio codecs supported in OS X sooner rather than later.



-- Nathaniel Gray -- Caltech Computer Science ------>
-- Mojave Project -- -->

Do not post admin requests to the list. They will be ignored.
QuickTime-API mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden

_______________________________________________ Do not post admin requests to the list. They will be ignored. QuickTime-API mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
 >Quicktime support for Core Audio AudioFileFormat components. (From: Nathaniel Gray <email@hidden>)

Visit the Apple Store online or at retail locations.

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2011 Apple Inc. All rights reserved.