Re: Audio Engine Design question
Re: Audio Engine Design question
- Subject: Re: Audio Engine Design question
- From: "B.J. Buchalter" <email@hidden>
- Date: Mon, 23 Sep 2002 15:16:01 -0400
on 9/23/02 2:36 PM, Jeff Moore at email@hidden wrote:
>
All clients of the HAL are supposed to be able to support whatever
>
buffer layout a driver provides, so you'll be fine doing it this way
>
for folks wanting to do 5.1 output.
I want to underscore what Jeff just said here -- this has been the official
position of Apple from day one with respect to CoreAudio (at least to me).
All CoreAudio clients ARE SUPPOSED TO BE ABLE TO SUPPORT WHATEVER BUFFER
LAYOUT A DRIVER PROVIDES. If your app is not doing this, it is broken.
A few of the early CA apps made assumptions about valid stream layouts --
e.g. All stereo, or all interleaved >= stereo. This leads to apps that won't
accept the driver's published buffers or writes to them as if they are in a
different format which gives screwed up audio or even worse, crashes. All
make for unhappy users.
It is a bit complicated, but not difficult to support the format negotiation
required by CoreAudio. Please, let's make sure we all do it right so that we
don't have a bunch of pissed off users with fingers being pointed in a
myriad of directions. The Daisy code shows how to deal with a wide variety
of stream formats correctly.
Sorry for the (minor) rant, but I can already see it starting to happen, and
I would rather not have to spend all my time patching my driver to make it
compatible with apps that are not adhering to the CA spec, which requires
stream format negotiation.
Best regards,
B.J. Buchalter
Metric Halo
M/S 601 - Building 8
Castle Point Campus
Castle Point, NY 12511-0601 USA
tel +1 845 831-8600
fax +1 603 250-2451
If you haven't heard ChannelStrip yet, you don't know what you're missing!
Check out SpectraFoo, ChannelStrip and Mobile I/O at
http://www.mhlabs.com/
Download a 12 day demo from <
http://www.mhlabs.com/demo/>
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.