Type Alias


Called by the system when an audio unit requires input samples, or before and after a render operation.


typedef OSStatus (*AURenderCallback)(void *inRefCon, AudioUnitRenderActionFlags *ioActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber, UInt32 inNumberFrames, AudioBufferList *ioData);



Custom data that you provided when registering your callback with the audio unit.


Flags used to describe more about the context of this call (pre or post in the notify case for instance).


The timestamp associated with this call of audio unit render.


The bus number associated with this call of audio unit render.


The number of sample frames that will be represented in the audio data in the provided ioData parameter.


The AudioBufferList that will be used to contain the rendered or provided audio data.

Return Value

A result code.


If you named your callback function MyAURenderCallback, you would declare it like this:


You can use this callback function with both the audio unit render notification API (see the AudioUnitAddRenderNotify function) and the render input callback (see the kAudioUnitProperty_SetRenderCallback property).

As a notification listener, the system invokes this callback before and after an audio unit’s render operations.

As a render operation input callback, it is invoked when an audio unit requires input samples for the input bus that the callback is attached to.

See Also



Called by the system when an audio unit has provided a buffer of output samples.


Called by the system when the value of a specified audio unit property has changed.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software