Re: AudioDevice AudioChannelLayout
Re: AudioDevice AudioChannelLayout
- Subject: Re: AudioDevice AudioChannelLayout
- From: Jeff Moore <email@hidden>
- Date: Thu, 23 Oct 2003 14:36:44 -0700
On Oct 23, 2003, at 1:13 PM, Jason wrote:
Does Audio MIDI Setup in Panther have more features than in Jaguar?
Yes. Among other things, it has better support for devices that have
multiple streams.
I have a 4-channel output device (it has two stereo output jacks).
In AMS it shows the 4 separate channels, however the "Current Format"
pop-up menu only shows various '1Ch' options like "1Ch-48000.0 Hz-32
bit".
Sounds like you are looking at the Jaguar version of AMS and that your
driver is presenting the 4 channels of data as 4 mono streams. In that
version of AMS, the format pop-up was only linked to the first stream
on the device so it would only allow you to view/set that one format.
The Panther version has much better support for devices with multiple
streams. In particular, there is a new pop-up menu that lets you
navigate the streams of a device so that you can view/set the format of
each of them.
The System Preferences' sound pane only lists the output device once,
which is only the first two channels as a stereo pair.
The Sound Prefs Panel will show just one entry for the output device
regardless of how many streams it has. Further, it only allows for the
volume/balance to be controlled on a single stereo pair with the
assumption that if you need better control, you will use AMS.
What I want is for two stereo pairs to appear in the System
Preferences sound pane, the first routing to Ch1/2 and the second
routing to Ch3/4. This would allow also QuickTime multi-channel apps
(that use the Sound Manager via HAL) to use the two stereo outputs of
this device. Is there some hidden feature that would allow me to
map/indicate the channel layout I want? Or is this something new in
Panther's AMS? (I'll test that tomorrow if I'm lucky!)
The only way to achieve this is to have your driver break your
IOAudioEngine with 4 mono streams down into two IOAudioEngines with two
mono streams each. The reason why is that to the HAL, an audio device
is an IOAudioEngine.
That said, I don't recommend this approach as it will confuse your
users in the present and hurt your functionality in the future when
things like QT can address devices with more than 2 channels. Your
current scheme of having 4 mono streams is perfectly fine and even
somewhat optimal for folks using Audio Units. Unless you are having
difficulties, I'd suggest leaving things as they are.
--
Jeff Moore
Core Audio
Apple
_______________________________________________
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.