Base renderer class. More...
#import <AERenderer.h>
Inherits NSObject.
Protected Member Functions | |
(void) | - AERendererRun |
Perform one pass of the render loop. | |
Properties | |
AERenderLoopBlock _Nonnull | block |
The output loop block. | |
double | sampleRate |
The sample rate. | |
int | numberOfOutputChannels |
The number of output channels. | |
BOOL | isOffline |
Whether rendering is offline (faster than realtime), default NO. | |
AEBufferStack *_Nonnull | stack |
Buffer stack. | |
Base renderer class.
A renderer is responsible for driving the main processing loop, which is the central point for audio generation and processing. A sub-renderer may also be used, which can drive an intermediate render loop, such as for a variable-speed module.
Renderers can provide an interface with the system audio output, or offline rendering to file, offline analysis, conversion, etc.
Use this class by allocating an instance, then assigning a block to the 'block' property, which will be invoked during audio generation, usually on the audio render thread. You may assign new blocks to this property at any time, and assignment will be thread-safe.
- (void) AERendererRun | (__unsafe_unretained AERenderer *_Nonnull) | renderer | |
(const AudioBufferList *_Nonnull) | bufferList | ||
(UInt32) | frames | ||
(const AudioTimeStamp *_Nonnull) | timestamp | ||
Perform one pass of the render loop.
renderer | The renderer instance |
bufferList | An AudioBufferList to write audio to. If mData pointers are NULL, will set these to the top buffer's mData pointers instead. |
frames | The number of frames to process |
timestamp | The timestamp of the current period |
|
readwritenonatomiccopy |
The output loop block.
Assignment is thread-safe.
|
readwritenonatomicassign |
The sample rate.
|
readwritenonatomicassign |
The number of output channels.
|
readwritenonatomicassign |
Whether rendering is offline (faster than realtime), default NO.
|
readnonatomicassign |
Buffer stack.