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 protected]> 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 protected]> 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 protected] <[email protected]>] > *Sent:* Friday, December 14, 2018 12:06 PM > *To:* [email protected] > *Cc:* [email protected] > *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 protected]> 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 protected]) > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/coreaudio-api/brambos%40outlook.com > > This email sent to [email protected] > > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Coreaudio-api mailing list ([email protected]) > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/coreaudio-api/mman%40martinman.net > > This email sent to [email protected] > > > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Coreaudio-api mailing list ([email protected]) > Help/Unsubscribe/Update your Subscription: > > https://lists.apple.com/mailman/options/coreaudio-api/paul%40linuxaudiosystems.com > > This email sent to [email protected] >
_______________________________________________ Do not post admin requests to the list. They will be ignored. Coreaudio-api mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/coreaudio-api/archive%40mail-archive.com This email sent to [email protected]
