Back to MiXiD API Documentation
Detailed MiXiD XCFramework reference for Compositing and Mixing. Read through each header, class, protocol, and function section to inspect Objective-C declarations, parameters, return values, and usage guidance.
Compositing and Mixing
Compositing and Mixing
MXDCompositeAudioRenderer.h
Audio playback renderer for mixed or decoded media.
MXDCompositeAudioRenderer
start
- (void)start;
Kind Instance method Return voidDetails Starts the component and begins the related capture, server, playback, publish, recording, or discovery workflow. Parameters No parameters. Swift usage instance.start()
pause
- (void)pause;
Kind Instance method Return voidDetails Pauses playback while keeping the object available for a later resume. Parameters No parameters. Swift usage instance.pause()
flush
- (void)flush;
Kind Instance method Return voidDetails Clears queued decoder/player state so future media starts from a clean point. Parameters No parameters. Swift usage instance.flush()
stop
- (void)stop;
Kind Instance method Return voidDetails Stops the component and releases or finalizes active workflow resources. Parameters No parameters. Swift usage instance.stop()
enqueueAudioBuffer:when:
- (void)enqueueAudioBuffer:(AVAudioPCMBuffer *)buffer when:(AVAudioTime * _Nullable)when;
Kind Instance method Return voidDetails Queues encoded audio data for playback. Call in timestamp order for stable audio scheduling. Parameters enqueueAudioBuffer (AVAudioPCMBuffer *, buffer); when (AVAudioTime * _Nullable, when)Swift usage instance.enqueueAudioBuffer(enqueueAudioBuffer: audioBuffer, when: when)
enqueueAACAccessUnit:sampleRate:channels:objectType:config:
- (void)enqueueAACAccessUnit:(NSData *)accessUnit sampleRate:(Float64)sampleRate channels:(UInt32)channels objectType:(UInt32)objectType config:(NSData * _Nullable)config;
Kind Instance method Return voidDetails Queues encoded audio data for playback. Call in timestamp order for stable audio scheduling. Parameters enqueueAACAccessUnit (NSData *, accessUnit); sampleRate (Float64, sampleRate); channels (UInt32, channels); objectType (UInt32, objectType); config (NSData * _Nullable, config)Swift usage instance.enqueueAACAccessUnit(enqueueAACAccessUnit: data, sampleRate: 0.0, channels: channels, objectType: objectType, config: data)
MXDCompositeMediaMixer.h
Four-slot audio/video mixer.
MXDCompositeMediaMixerDelegate Protocol
compositeMediaMixerDidOutputAudioBuffer:
- (void)compositeMediaMixerDidOutputAudioBuffer:(AVAudioPCMBuffer *)audioBuffer;
Kind Delegate / protocol callback Return voidDetails Callback invoked by MiXiD for compositeMediaMixerDidOutputAudioBuffer. Implement this method to observe lifecycle, media output, status, or error events. Parameters compositeMediaMixerDidOutputAudioBuffer (AVAudioPCMBuffer *, audioBuffer)Swift usage instance.compositeMediaMixerDidOutputAudioBuffer(compositeMediaMixerDidOutputAudioBuffer: audioBuffer)
compositeMediaMixerDidUpdateAudioLevels:masterLevel:
- (void)compositeMediaMixerDidUpdateAudioLevels:(NSArray<NSNumber *> *)slotLevels masterLevel:(Float32)masterLevel;
Kind Delegate / protocol callback Return voidDetails Callback invoked by MiXiD for compositeMediaMixerDidUpdateAudioLevels masterLevel. Implement this method to observe lifecycle, media output, status, or error events. Parameters compositeMediaMixerDidUpdateAudioLevels (NSArray<NSNumber *> *, slotLevels); masterLevel (Float32, masterLevel)Swift usage instance.compositeMediaMixerDidUpdateAudioLevels(compositeMediaMixerDidUpdateAudioLevels: 0, masterLevel: 0.0)
compositeMediaMixerNeedsVideoRenderForBuffers:count:outputWidth:outputHeight:presentationTime:
- (void)compositeMediaMixerNeedsVideoRenderForBuffers:(CVPixelBufferRef _Nullable const * _Nonnull)videoBuffers count:(NSInteger)count outputWidth:(NSInteger)outputWidth outputHeight:(NSInteger)outputHeight presentationTime:(CMTime)presentationTime;
Kind Delegate / protocol callback Return voidDetails Callback invoked by MiXiD for compositeMediaMixerNeedsVideoRenderForBuffers count outputWidth outputHeight presentationTime. Implement this method to observe lifecycle, media output, status, or error events. Parameters compositeMediaMixerNeedsVideoRenderForBuffers (CVPixelBufferRef _Nullable const * _Nonnull, videoBuffers); count (NSInteger, count); outputWidth (NSInteger, outputWidth); outputHeight (NSInteger, outputHeight); presentationTime (CMTime, presentationTime)Swift usage instance.compositeMediaMixerNeedsVideoRenderForBuffers(compositeMediaMixerNeedsVideoRenderForBuffers: imageBuffer, count: 0, outputWidth: 0, outputHeight: 0, presentationTime: 0.0)
compositeMediaMixerDidFailWithError:
- (void)compositeMediaMixerDidFailWithError:(NSError *)error;
Kind Delegate / protocol callback Return voidDetails Callback invoked by MiXiD for compositeMediaMixerDidFailWithError. Implement this method to observe lifecycle, media output, status, or error events. Parameters compositeMediaMixerDidFailWithError (NSError *, error)Swift usage instance.compositeMediaMixerDidFailWithError(compositeMediaMixerDidFailWithError: nil)
MXDCompositeMediaMixer
Name Declaration Details delegate@property (nonatomic, weak, nullable) id<MXDCompositeMediaMixerDelegate> delegate;Receives lifecycle, media output, status, or error callbacks. running@property (nonatomic, assign, readonly, getter=isRunning) BOOL running;Read-only runtime state flag.
start
- (void)start;
Kind Instance method Return voidDetails Starts the component and begins the related capture, server, playback, publish, recording, or discovery workflow. Parameters No parameters. Swift usage instance.start()
stop
- (void)stop;
Kind Instance method Return voidDetails Stops the component and releases or finalizes active workflow resources. Parameters No parameters. Swift usage instance.stop()
appendVideoFrame:forSlot:presentationTime:
- (void)appendVideoFrame:(CVImageBufferRef)imageBuffer forSlot:(NSInteger)slotIndex presentationTime:(CMTime)presentationTime;
Kind Instance method Return voidDetails Appends media into the component. Use presentation timestamps and matching stream configuration so downstream encoders, mixers, or recorders stay synchronized. Parameters appendVideoFrame (CVImageBufferRef, imageBuffer); forSlot (NSInteger, slotIndex); presentationTime (CMTime, presentationTime)Swift usage instance.appendVideoFrame(appendVideoFrame: imageBuffer, forSlot: 0, presentationTime: 0.0)
appendAudioBuffer:forSlot:
- (void)appendAudioBuffer:(AVAudioPCMBuffer *)audioBuffer forSlot:(NSInteger)slotIndex;
Kind Instance method Return voidDetails Appends media into the component. Use presentation timestamps and matching stream configuration so downstream encoders, mixers, or recorders stay synchronized. Parameters appendAudioBuffer (AVAudioPCMBuffer *, audioBuffer); forSlot (NSInteger, slotIndex)Swift usage instance.appendAudioBuffer(appendAudioBuffer: audioBuffer, forSlot: 0)
appendAACAccessUnit:forSlot:sampleRate:channels:objectType:config:
- (void)appendAACAccessUnit:(NSData *)accessUnit forSlot:(NSInteger)slotIndex sampleRate:(Float64)sampleRate channels:(UInt32)channels objectType:(UInt32)objectType config:(NSData * _Nullable)config;
Kind Instance method Return voidDetails Appends media into the component. Use presentation timestamps and matching stream configuration so downstream encoders, mixers, or recorders stay synchronized. Parameters appendAACAccessUnit (NSData *, accessUnit); forSlot (NSInteger, slotIndex); sampleRate (Float64, sampleRate); channels (UInt32, channels); objectType (UInt32, objectType); config (NSData * _Nullable, config)Swift usage instance.appendAACAccessUnit(appendAACAccessUnit: data, forSlot: 0, sampleRate: 0.0, channels: channels, objectType: objectType, config: data)
setAudioGain:forSlot:
- (void)setAudioGain:(Float32)gain forSlot:(NSInteger)slotIndex;
Kind Instance method Return voidDetails Updates configuration on an existing object. Some changes apply immediately; transport or stream changes may reconnect or reload internal resources. Parameters setAudioGain (Float32, gain); forSlot (NSInteger, slotIndex)Swift usage instance.setAudioGain(setAudioGain: 0.0, forSlot: 0)
audioGainForSlot:
- (Float32)audioGainForSlot:(NSInteger)slotIndex;
Kind Instance method Return Float32Details Performs the audioGainForSlot operation on this MiXiD component. Parameters audioGainForSlot (NSInteger, slotIndex)Swift usage let result = instance.audioGainForSlot(audioGainForSlot: 0)
setMaximumQueuedAudioSeconds:forSlot:
- (void)setMaximumQueuedAudioSeconds:(Float64)seconds forSlot:(NSInteger)slotIndex;
Kind Instance method Return voidDetails Updates configuration on an existing object. Some changes apply immediately; transport or stream changes may reconnect or reload internal resources. Parameters setMaximumQueuedAudioSeconds (Float64, seconds); forSlot (NSInteger, slotIndex)Swift usage instance.setMaximumQueuedAudioSeconds(setMaximumQueuedAudioSeconds: 0.0, forSlot: 0)
setOutputAudioGain:
- (void)setOutputAudioGain:(Float32)gain;
Kind Instance method Return voidDetails Updates configuration on an existing object. Some changes apply immediately; transport or stream changes may reconnect or reload internal resources. Parameters setOutputAudioGain (Float32, gain)Swift usage instance.setOutputAudioGain(setOutputAudioGain: 0.0)
MXDCompositeRenderer.h
Video compositor for mixer output.
MXDCompositeRendererDelegate Protocol
compositeRenderer:didRenderVideoFrame:presentationTime:
- (void)compositeRenderer:(MXDCompositeRenderer *)renderer didRenderVideoFrame:(CVImageBufferRef)imageBuffer presentationTime:(CMTime)presentationTime;
Kind Delegate / protocol callback Return voidDetails Callback invoked by MiXiD for compositeRenderer didRenderVideoFrame presentationTime. Implement this method to observe lifecycle, media output, status, or error events. Parameters compositeRenderer (MXDCompositeRenderer *, renderer); didRenderVideoFrame (CVImageBufferRef, imageBuffer); presentationTime (CMTime, presentationTime)Swift usage instance.compositeRenderer(compositeRenderer: renderer, didRenderVideoFrame: imageBuffer, presentationTime: 0.0)
compositeRenderer:willRenderCompositeImage:outputRect:presentationTime:
- (CIImage *)compositeRenderer:(MXDCompositeRenderer *)renderer willRenderCompositeImage:(CIImage *)compositeImage outputRect:(CGRect)outputRect presentationTime:(CMTime)presentationTime;
Kind Delegate / protocol callback Return CIImage *Details Callback invoked by MiXiD for compositeRenderer willRenderCompositeImage outputRect presentationTime. Implement this method to observe lifecycle, media output, status, or error events. Parameters compositeRenderer (MXDCompositeRenderer *, renderer); willRenderCompositeImage (CIImage *, compositeImage); outputRect (CGRect, outputRect); presentationTime (CMTime, presentationTime)Swift usage let result = instance.compositeRenderer(compositeRenderer: renderer, willRenderCompositeImage: compositeImage, outputRect: outputRect, presentationTime: 0.0)
MXDCompositeRenderer
Name Declaration Details delegate@property (nonatomic, weak, nullable) id<MXDCompositeRendererDelegate> delegate;Receives lifecycle, media output, status, or error callbacks.
renderVideoBuffers:count:outputWidth:outputHeight:presentationTime:
- (void)renderVideoBuffers:(CVPixelBufferRef _Nullable const * _Nonnull)videoBuffers count:(NSInteger)count outputWidth:(NSInteger)outputWidth outputHeight:(NSInteger)outputHeight presentationTime:(CMTime)presentationTime;
Kind Instance method Return voidDetails Performs the renderVideoBuffers count outputWidth outputHeight presentationTime operation on this MiXiD component. Parameters renderVideoBuffers (CVPixelBufferRef _Nullable const * _Nonnull, videoBuffers); count (NSInteger, count); outputWidth (NSInteger, outputWidth); outputHeight (NSInteger, outputHeight); presentationTime (CMTime, presentationTime)Swift usage instance.renderVideoBuffers(renderVideoBuffers: imageBuffer, count: 0, outputWidth: 0, outputHeight: 0, presentationTime: 0.0)
MXDCompositeVideoRenderer.h
CALayer-backed video preview renderer.
MXDCompositeVideoRenderer
Name Declaration Details startupPrerollSeconds@property (nonatomic, assign) NSTimeInterval startupPrerollSeconds;Public configuration or state exposed by this API.
initWithLayer:
- (instancetype)initWithLayer:(CALayer *)layer;
Kind Instance method Return instancetypeDetails Initializes the receiver for initWithLayer. Use this to provide required URLs, ports, names, peer connections, or configuration objects. Parameters initWithLayer (CALayer *, layer)Swift usage let value = MXDCompositeVideoRenderer(initWithLayer: layer)
enqueueImageBuffer:presentationTime:
- (void)enqueueImageBuffer:(CVImageBufferRef)imageBuffer presentationTime:(CMTime)presentationTime;
Kind Instance method Return voidDetails Queues encoded audio data for playback. Call in timestamp order for stable audio scheduling. Parameters enqueueImageBuffer (CVImageBufferRef, imageBuffer); presentationTime (CMTime, presentationTime)Swift usage instance.enqueueImageBuffer(enqueueImageBuffer: imageBuffer, presentationTime: 0.0)
flush
- (void)flush;
Kind Instance method Return voidDetails Clears queued decoder/player state so future media starts from a clean point. Parameters No parameters. Swift usage instance.flush()
Back to API Reference index