Re: Audio Files and Tiger - New Functionality
Re: Audio Files and Tiger - New Functionality
- Subject: Re: Audio Files and Tiger - New Functionality
- From: William Stewart <email@hidden>
- Date: Wed, 4 May 2005 14:10:35 -0700
The functionality is shipped as part of Tiger.
Some parts of CoreAudio are back ported with QuickTime release for
the OS that precedes our latest release - so QT 7 is available for
Panther and is the Panther version of what they ship in Tiger.
Because of that, they also need parts of CA to go back to Panther to
enable their code to work.
So, the short answer is that both CAF and CA's MP4/M4A handling are
available along with the QT 7 update for Panther.
The SDK we ship provides sample code that interfaces to our APIs - it
doesn't provide core functionality as such. So, the SDK's example
code *uses* the functionality available on the system that you run
this code on.
So, if you are on Panther *without* QT 7, then you won't see the CAF
file capability.
If you are on Panther *with* QT 7, then you also have some CA
updates, so you *will* see the CAF file capability.
If you are on Tiger, then you will see the CAF file capability.
HTH
Bill
On 04/05/2005, at 1:58 PM, john wrote:
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
--
mailto:email@hidden
tel: +1 408 974 4056
________________________________________________________________________
__
"Much human ingenuity has gone into finding the ultimate Before.
The current state of knowledge can be summarized thus:
In the beginning, there was nothing, which exploded" - Terry Pratchett
________________________________________________________________________
__
_______________________________________________
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