Re: AudioUnitV3 effect and "maximumFramesToRender"
Re: AudioUnitV3 effect and "maximumFramesToRender"
- Subject: Re: AudioUnitV3 effect and "maximumFramesToRender"
- From: Paul Davis <email@hidden>
- Date: Fri, 14 Dec 2018 14:01:26 -0500
It's not even always macOS or iOS. The host can choose to "subdivide" a
given block of audio into smaller blocks for its own reasons (automation is
a common reason). The audio hardware may run with a 512 sample buffer, but
your plugin may get called to process (12,193,307) samples just because the
host decides to do it that way.
As a plugin, you cannot control the buffer size chosen by the host (and
ultimately by the user). You can tell the host that you need a minimum, but
the host may then refuse to load/run the plugin.
On Fri, Dec 14, 2018 at 1:34 PM Martin Man <email@hidden> wrote:
> From my experience this is the missing block you are asking for, a pity
> it’s not a part of the iOS/macOS SDKs
>
> https://github.com/michaeltyson/TPCircularBuffer
>
> In short, you can’t force macOS or iOS to work at fixed number of frames,
> be prepared to handle random numbers not bigger then
> maxNumberOfFramesPerSlice. It does happen and will happen to you that you
> will get asked for a number you never seen before :)
>
> Ciao,
> Martin
>
> On 14 Dec 2018, at 19:25, Waverly Edwards <email@hidden> wrote:
>
> >> The host determines how many frames are pulled.
>
> How is the “host” defined. I thought the host was defined as my
> application or audio unit.
> It would seem to me, if the host and the system were synonymous, it would
> be more clear to just say “system” instead of host.
>
> >> This can differ for each call.
>
> I can accept it, since your source is not always going to be a multiple of
> the buffer length, so you’re bound to a shortage but that’s the only case
> that comes to mind.
>
> >> This variable is just to tell the host what the maximum number is that
> can be processed at a time.
>
> I’m struggling with this idea because I have set the maximum value to 256
> and the number of frames pulled is 512. If I set the maximum value to 1024
> and I get 512, I’m not happy at all but that’s understandable based on this
> definition.
>
> Is there an alternative way to make the number of frames pulled a constant
> value?
>
> *From:* Bram Bos [mailto:email@hidden <email@hidden>]
> *Sent:* Friday, December 14, 2018 12:06 PM
> *To:* email@hidden
> *Cc:* email@hidden
> *Subject:* Re: AudioUnitV3 effect and "maximumFramesToRender"
>
> The host determines how many frames are pulled. This can differ for each
> call. This variable is just to tell the host what the maximum number is
> that can be processed at a time.
>
>
> On 14 Dec 2018, at 17:48, Waverly Edwards <email@hidden> wrote:
>
> init(componentDescription: AudioComponentDescription,options:
> AudioComponentInstantiationOptions = [])
>
> I created an AudioUnitV3 effect and I set the variable
> "maximumFramesToRender" within the above method. The effect does work but
> the system overwrites this value with 512 frames, leaving me with no way to
> alter how many frames are pulled.
>
>
> https://developer.apple.com/documentation/audiotoolbox/auaudiounit/1387654-maximumframestorender
>
> The documentation states you must be set before resources are allocated
> and I do so in my init. What else must I do in order to change how many
> frames are pulled in a single cycle.
>
>
> Does anyone have advice on this matter.
>
> _______________________________________________
> 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
>
>
> _______________________________________________
> 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