Re: Audio Files and Tiger - New Functionality
Re: Audio Files and Tiger - New Functionality
- Subject: Re: Audio Files and Tiger - New Functionality
- From: john <email@hidden>
- Date: Wed, 4 May 2005 16:58:13 -0400
Hi,
Great news on the mp4/m4a support. If someone installs the latest
CoreAudio SDK on a 10.3 or 10.2 system, will they be able to run
software that uses this new functionality, or is it just for QT 7?
-- John
In the CA SDK there is a collection of classes (AudioFileTools -
CAAudioFile, and will read/write *any* file format that is
supported by the AudioFile and AudioConverter APIs). These classed
use the AudioFile and AudioConverter API to do their work.
In Tiger we ship support (with the AudioFile API ) for the
following file formats:
CAF
AIFF
WAV
SD II
MP4 - audio only
M4A - these are the "in the clear" iTunes audio files. M4P's are
the DRM'd version, we *don't* support these
MP3
.AU/.SND - NeXT/Sun Audio File Format
ADTS - (MPEG 2 defined bit stream for AAC data)
We see CAF as a universal and extensible container format for any
audio content as it can contain data formats as varied as:
Linear PCM
MP3
AAC
Apple Lossless
Sigma-Delta (PWM as used on SACD)
etc..
CAF files can also contain data formats such as Ogg or FLAC - that
could be encoded/decoded if the AudioCodec support from 3rd parties
for these formats were available. AudioCodecs are the mechanism
provided on Mac OS X that allow developers to directly support
audio data formats both within the CA API's and within QuickTime.
(AAC, ALE, MP3 for instance are shipped by us as AudioCodecs).
We also provide in Tiger (and with the QT7 release in Panther) a
new component type called Audio File Components - this allows for
support for file formats that are provided by 3rd party companies.
It is an extension mechanism only - it is accessed through the
Audio File APIs. The support for both CAF and MP4/M4A was done
using this component model, and can readily be accessed by any user
of the AudioFile API set. The Tiger SDK has a base class that can
be used as a basis to write your own AFC. We're also working with
QT for tighter integration and support for AFC's with their Import/
Export model, so that AFC's would be discovered by QT and become an
optional format for users to use for import/export.
Another addition in Tiger is the ExtendedAudioFile API set. This
API provides an amalgamation of both the AudioFile and
AudioConverter APIs to provide:
(1) Simple reading and writing of Audio File data
- Caller always uses Linear PCM, API handles the conversion to/
from the audio data format of the file itself.
(2) Threaded read/write
- reading and writing can be done from threads such as the I/O
thread where you *cannot* block, as the read/writes to the disk are
done on a different thread than the calling thread
(3) Sample Frame accurate seeking even within compressed audio
formats such as MP3, AAC, ALE, etc..
In the CA SDK in Tiger, the audio file tools (afconvert, afplay,
etc) can be compiled to use this API directly, or to use the SDK
provided code (CAAudioFile). The CAAudioFile classes essentially do
what the EAF APIs do (they provided the basis of that
implementation). These classes are still shipped in the SDK in
Tiger (and will continue to be), but our future development will be
concentrated on the EAF API, so we'd advise people to use that API
wherever possible.
Thanks
Bill
_______________________________________________
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