Type Alias

AURenderCallback

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

Declaration

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

Parameters

inRefCon

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

ioActionFlags

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

inTimeStamp

The timestamp associated with this call of audio unit render.

inBusNumber

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

inNumberFrames

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

ioData

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

Return Value

A result code.

Discussion

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

Discussion

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

Callbacks

AUInputSamplesInOutputCallback

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

AudioUnitPropertyListenerProc

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