Re: clarification on RME suggestions ...
Re: clarification on RME suggestions ...
- Subject: Re: clarification on RME suggestions ...
- From: Jeff Moore <email@hidden>
- Date: Fri, 21 Jun 2002 16:55:47 -0700
On Friday, June 21, 2002, at 02:35 PM, John Lazzaro wrote:
Jeff Moore writes:
Apps should use kAudioDevicePropertyStreamConfiguration to get a
picture of the channel layout of a device. This property returns an
AudioBufferList that has the same structure as the one you will see in
your IOProc except the actual pointers to the buffers will be NULL
since this is for informational purposes.
[...]
Does this make it any clearer?
There's still an unsolved problem here, for the simple case of an
application that wants to send audio output to the speakers a human is
listening to, as the human indicates in the OS X Audio Preferences
pane.
Let's say the kAudioHardwarePropertyDefaultOutputDevice call, followed
by the kAudioDevicePropertyStreamConfiguration call, yields a device
with 4 mono streams.
In reality, the first two streams are the audio RCA jacks
from the soundcard (first left, then right), and the second
two streams are the S/PDIF jack for the soundcard
(first left, then right), and the user has chosen one of
these two logical I/O endpoints as her current default
using the OS X Audio Preferences pane.
The current Prefs Pane doesn't allow for that. It just lets you choose
the device. It doesn't know anything about channels or streams.
As a naive app, though, all I see are 4 mono streams. I need to deduce
the following facts:
-1- That these four mono streams represent two stereo
logical I/O endpoints, not 4 mono logical I/O endpoints
or one 70's-retro quadrophonic endpoint :-).
-2- That the user, via the OS X preferences pane, has
chosen one of these logical I/O endpoints as the one
she wants to hear default audio from.
Those are the two discovery problems, and I'm looking for a general
algorithm that works for any compliant OS X CoreAudio hardware driver,
without needing to keep a database of manufacturer and product names
and stream organization.
Are these solvable discovery problems?
In Jaguar, there is a new property,
kAudioDevicePropertyPreferredChannelsForStereo, but there won't be a
GUI for this property. So there isn't a way to set it to something
other than the default, which is channels 1 & 2.
Otherwise, there isn't really a way to tell the difference
programmatically.
--
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.