Type Alias


A block to render the audio unit.



All realtime operations are implemented using blocks to avoid Objective-C method dispatching and the possibility of blocking.

The block returns an audio unit status result code. If instead an error is returned, the output data should be assumed to be invalid.

The block takes the following parameters:


The pointer to the action flags.


The HAL time at which the input data will be rendered. If there is a sample rate conversion or time compression/expansion downstream, the sample time will not have a defined correlation with the AudioDevice sample time.


The number of sample frames to render.


The index of the output bus to render.


The output bus’s render buffers and flags. The buffer pointers may be null on entry, in which case the block will render into memory it owns and modify the mData pointers to point to that memory. The block is responsible for preserving the validity of that memory until it is next called to render, or until the deallocateRenderResources() method is called.


A block that the audio unit will call in order to pull for input data. This value may be nil for instrument and audio generator units (which do not have input busses).