Share via


PhasePullStreamRenderBlock Delegate

Definition

This is a delegate to provide audio data to a PhasePullStreamNode.

public delegate int PhasePullStreamRenderBlock(byte* isSilence, AudioTimeStamp* timeStamp, uint frameCount, AudioBufferList* outputData);
type PhasePullStreamRenderBlock = delegate of nativeptr<byte> * nativeptr<AudioTimeStamp> * uint32 * nativeptr<AudioBufferList> -> int

Parameters

isSilence
Byte*

It's possible to hint to the receiver of the buffer that the returned audio samples are silence. Note that since this is just a hint, the returned audio samples should also be silence.

timeStamp
AudioTimeStamp*

The HAL time when the sample is to be rendered.

frameCount
UInt32

The number of sample frames requested.

outputData
AudioBufferList*

The list of audio buffers where to store the returned audio samples.

The caller will provide the list of audio buffers, but the callback may replace the Data pointer (and update the DataByteSize value) with a pointer to a memory location that the callback owns, and which will be valid until the next render cycle.

Return Value

0 in case of success, otherwise an OSStatus error code. The audio data will be assumed to be invalid in case of an error.

Applies to