Re: clarification on RME suggestions ...
Re: clarification on RME suggestions ...
- Subject: Re: clarification on RME suggestions ...
- From: Marcus Zetterquist <email@hidden>
- Date: Fri, 20 Sep 2002 15:27:14 +0200
Hi!
I'm no expert on CoreAudio, but I feel using multiple streams to avoid
interleaving channels is a very complicated solution.
While reading the CoreAudio headers in Jaguar I stumbled across a new
constant, kAudioFormatFlagIsNonInterleaved, which seems to allow you to have
*one single stream* containing for example 18 channels, without having to
interleave them. Is this correct?
This appears to be a much simpler solution to the problem?
Slightly off-topic: This is embarrassing, but I have still to understand why
the concept audio-streams exists at all in CoreAudio. To support sound cards
with channels that use different sample rates simultaneously?! To have
different types of compression on different audio channels simultaneously?
Please fill me in if I've missed something.
/Marcus
02-06-22 22.44, skrev Bill Stewart pe email@hidden fvljande:
>
John,
>
>
I think you're scheme seems reasonable
>
>
You might also want to preset some UI to the user if you are dealing with
>
something that is more complex than a simple device (like builtin or most
>
USB devices that just have a sample rate property)
>
>
There will be an Audio Configuration utility inJaguar (AMS) that will allow
>
you to so some config of a device - like in the case of the EMI from Emagic
>
you can set it to different bit depths, num channels, sample rates (all
>
things that the EMI is able to do) - as well of course as deal with the more
>
simple cases of many of the other USB devices.
>
>
A user can configure the device - even set this as being the "default
>
device" - and then you can use it... Or, if not default, you could direct
>
the user to AMS after they've told you which device they want to use if they
>
want to configure some of the devices "physical" properties.
>
>
With Jaguar you will be able to turn streams on and off, and this will
>
certainly make a difference for efficiency... So, if you have a device like
>
the RME card, that publishes multiple mono streams, but you're only using 8
>
of them say, then you will be well advised to turn off the streams that the
>
user isn't using in any given context.
>
>
This maybe some more UI for you (and this property can be adjusted
>
dynamically) - but - your app then gives back to the user valuable CPU time
>
to do more of what she wants to do...
>
>
Bill
>
>
on 21/6/02 5:52 PM, John Lazzaro wrote:
>
>
>> Jeff Moore writes:
>
>>
>
>> [...]
>
>>
>
>> 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.
>
>>
>
>> [...]
>
>>
>
>> 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.
>
>
>
>
>
> OK, so for the stereo case, once Jaguar arrives, the solution
>
> would seem to be:
>
>
>
> Check
>
>
>
> kAudioHardwarePropertyDefaultOutputDevice
>
>
>
> and then check
>
>
>
> kAudioDevicePropertyPreferredChannelsForStereo
>
>
>
> and then examine
>
>
>
> kAudioDevicePropertyStreamConfiguration
>
>
>
> to figure out where those two channels are in the device
>
> stream configuration.
>
>
>
> Which yields three pretty simple cases for applications to support:
>
>
>
>
>
> [1] [2] // two mono streams
>
>
>
> [1 2] // one interleaved stereo stream
>
>
>
> [1 2 3 ...] // a multichannel interleaved stream, to which you
>
> // write stereo to the first two channels
>
>
>
> If kAudioDevicePropertyPreferredChannelsForStereo can return an
>
> arbitrary contiguous pair, the split stream case (i.e.
>
>
>
> [1 2] [3 4 5]
>
>
>
> with a kAudioDevicePropertyPreferredChannelsForStereo of [2 3]) also
>
> needs to be supported by an app. And depending on the level of
>
> optimization the application code uses, [4 5] might need special case
>
> code too.
>
>
>
> This seems like a reasonable solution ... thanks for the info ...
>
>
>
> -------------------------------------------------------------------------
>
> John Lazzaro -- Research Specialist -- CS Division -- EECS -- UC Berkeley
>
> lazzaro [at] cs [dot] berkeley [dot] edu www.cs.berkeley.edu/~lazzaro
>
> -------------------------------------------------------------------------
>
> _______________________________________________
>
> 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.
>
>
>
mailto:email@hidden
>
tel: +1 408 974 4056
>
__________________________________________________________________________
>
"Thousands of years ago, cats were worshipped as gods. We have never
>
forgotten this."
>
__________________________________________________________________________
>
_______________________________________________
>
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.
_______________________________________________
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.