• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Buffer Size in Audio Units
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Buffer Size in Audio Units


  • Subject: Re: Buffer Size in Audio Units
  • From: William Stewart <email@hidden>
  • Date: Wed, 28 Nov 2007 10:47:51 -0800

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:
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
  • Follow-Ups:
    • Re: Buffer Size in Audio Units
      • From: Stephen Blinkhorn <email@hidden>
    • Re: Buffer Size in Audio Units
      • From: Eric Eizenman <email@hidden>
References: 
 >Buffer Size in Audio Units (From: Adam Stark <email@hidden>)
 >Re: Buffer Size in Audio Units (From: William Stewart <email@hidden>)
 >Re: Buffer Size in Audio Units (From: Stephen Blinkhorn <email@hidden>)
 >Re: Buffer Size in Audio Units (From: Stephen Blinkhorn <email@hidden>)

  • Prev by Date: Re: Buffer Size in Audio Units
  • Next by Date: Re: User-land CoreAudio driver and Leopard
  • Previous by thread: Re: Buffer Size in Audio Units
  • Next by thread: Re: Buffer Size in Audio Units
  • Index(es):
    • Date
    • Thread