Re: Multichannel audio and sharing data between channels of an audio unit?
Re: Multichannel audio and sharing data between channels of an audio unit?
- Subject: Re: Multichannel audio and sharing data between channels of an audio unit?
- From: William Stewart <email@hidden>
- Date: Mon, 9 May 2005 15:59:54 -0700
On 09/05/2005, at 12:47 PM, Oli Donald wrote:
Hi,
I have another question that should be easy to answer - how exactly
does multichannel audio work with AudioUnits? Searching the docs
didn't turn up much info, but a Google search revealed that the
'inNumChannels' parameter of AUKernel::Process() is always '1'. In
this case, how exactly is multichannel sound handled by AU's?
The buffer list passed in to AudioUnitRender has more than one buffer
in it - each buffer is a channel. AUEffectBase is designed to:
(1) Process Input to Output where the number of channels is the same
- thus you have this concept of kernels
(2) Processes one channel at a time
If EITHER of these two conditions aren't met, then you really can't
use processing kernels, and you need to go up the calling chain - you
need to look at the Render implementation in AUEffectBase and go down
from there.
Are seperate instances of your AU created for each channel? If this
is so, how can I synchronize data between two or more channels in
my AudioUnit? At the moment, if my AU runs in stereo, the two
channels get out of sync with certain parameters. For example, when
I click the 'clear buffer' button in my GUI, I memset() my AU's
buffer to 0's, but only one channel becomes silent.
because you are only silencing one buffer - check the
mNumberOfBuffers value in the AudioBufferList
I'm a good C and ObjC programmer, but my C++ knowledge is virtually
non-existant, I think this might be the source of my problems ;)
Its really just C - but the structs have function declarations and
the implicit first argument to every "function" is the "this" pointer
- the address of the struct the function is defined in :-)
Bill
Any help appreciated though.
Thanks,
Oli
_______________________________________________
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
--
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