Re: Buffer Size in Audio Units
Re: Buffer Size in Audio Units
- Subject: Re: Buffer Size in Audio Units
- From: Eric Eizenman <email@hidden>
- Date: Wed, 28 Nov 2007 12:12:58 -0800
The host will call SetMaxFramesPerSlice between Initialize and
Uninitialize. You can override SetMaxFramesPerSlice in your plug-in.
------------------------------------------------------------------
Eric Eizenman
BIAS Inc., Audio Software Development
------------------------------------------------------------------
On Nov 28, 2007, at 10:47 AM, William Stewart wrote:
No
Reset is to just flush out rendering state (for instance, getting
rid of reverb or delay tails)
The host can't change max frames while your AU is initialised. So,
it it wants to change this, it will call AudioUnitUninitialise
first (which ends up calling the DoCleanup method from AUBase) - so
in that method you deallocate all of your stuff. Then, the host
could change this, and will initialise your AU again.
There's a good intro to the AU spec and how it all fits together:
http://developer.apple.com/audio - that might help to get your
oriented
Bill
On Nov 28, 2007, at 10:00 AM, Stephen Blinkhorn wrote:
On 28 Nov 2007, at 16:03, Stephen Blinkhorn wrote:
On 26 Nov 2007, at 22:36, William Stewart wrote:
On Nov 26, 2007, at 4:28 AM, Adam Stark wrote:
Hi,
I have developed an audio unit that at some point in it's
processing uses an FFT. This FFT depends on the incoming buffer
size of the audio unit. I need to initialise the FFT routine
before it is used so that is is using the correct size (e.g.
128, 256, or 512, etc). I know that during the process method I
get the variable inFramesToProcess which tells me the buffer
size but is there any other way to find out this information
outside of the process method?
No. Your AU is told (or has a default) called Max Frames per
slice - this is the maximum number of sample frames your AU can
be asked to render at any time. So, you have to intitialise your
AU to deal with at most this many samples (and it could be less).
I'm slightly confused.. I am using the
AUBase::GetMaxFramesPerSlice in my Initialize method. But, what
happens when the host changes the block size? I'm using AULab to
test my AU but nothing seems to happen unless the AU is
completely relaunched.
I phrased that badly. I mean, is it to be expected that the host
will call the Reset method when the block size is changed?
Stephen
//audiospillage.com
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40apple.com
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
inc.com
This email sent to email@hidden
_______________________________________________
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