Back to MiXiD API Documentation
Detailed MiXiD XCFramework reference for Media Files and Replay. Read through each header, class, protocol, and function section to inspect Objective-C declarations, parameters, return values, and usage guidance.
Media Files and Replay
MXDMediaFileRecorder.h
Media file recorder for MiXiD pipelines.
MXDMediaFileRecorderDelegate Protocol
mediaFileRecorderDidStartRecordingToURL:
- (void)mediaFileRecorderDidStartRecordingToURL:(NSURL *)outputURL;
Kind Delegate / protocol callback Return voidDetails Callback invoked by MiXiD for mediaFileRecorderDidStartRecordingToURL. Implement this method to observe lifecycle, media output, status, or error events. Parameters mediaFileRecorderDidStartRecordingToURL (NSURL *, outputURL)Swift usage instance.mediaFileRecorderDidStartRecordingToURL(mediaFileRecorderDidStartRecordingToURL: url)
mediaFileRecorderDidFinishRecordingToURL:
- (void)mediaFileRecorderDidFinishRecordingToURL:(NSURL *)outputURL;
Kind Delegate / protocol callback Return voidDetails Callback invoked by MiXiD for mediaFileRecorderDidFinishRecordingToURL. Implement this method to observe lifecycle, media output, status, or error events. Parameters mediaFileRecorderDidFinishRecordingToURL (NSURL *, outputURL)Swift usage instance.mediaFileRecorderDidFinishRecordingToURL(mediaFileRecorderDidFinishRecordingToURL: url)
mediaFileRecorderDidFailWithError:
- (void)mediaFileRecorderDidFailWithError:(NSError *)error;
Kind Delegate / protocol callback Return voidDetails Callback invoked by MiXiD for mediaFileRecorderDidFailWithError. Implement this method to observe lifecycle, media output, status, or error events. Parameters mediaFileRecorderDidFailWithError (NSError *, error)Swift usage instance.mediaFileRecorderDidFailWithError(mediaFileRecorderDidFailWithError: nil)
mediaFileRecorderDidUpdateStatus:
- (void)mediaFileRecorderDidUpdateStatus:(NSString *)status;
Kind Delegate / protocol callback Return voidDetails Callback invoked by MiXiD for mediaFileRecorderDidUpdateStatus. Implement this method to observe lifecycle, media output, status, or error events. Parameters mediaFileRecorderDidUpdateStatus (NSString *, status)Swift usage instance.mediaFileRecorderDidUpdateStatus(mediaFileRecorderDidUpdateStatus: "value")
MXDMediaFileRecorder
Name Declaration Details delegate@property (nonatomic, weak, nullable) id<MXDMediaFileRecorderDelegate> delegate;Receives lifecycle, media output, status, or error callbacks. outputURL@property (nonatomic, strong, readonly) NSURL *outputURL;Endpoint or file URL used by the component. recording@property (nonatomic, assign, readonly, getter=isRecording) BOOL recording;Read-only runtime state flag.
prewarm
+ (void)prewarm;
Kind Class method Return voidDetails Creates, discovers, or returns shared information for prewarm. Call this on the class before creating or configuring an instance. Parameters No parameters. Swift usage MXDMediaFileRecorder.prewarm()
initWithOutputURL:
- (instancetype)initWithOutputURL:(NSURL *)outputURL;
Kind Instance method Return instancetypeDetails Initializes the receiver for initWithOutputURL. Use this to provide required URLs, ports, names, peer connections, or configuration objects. Parameters initWithOutputURL (NSURL *, outputURL)Swift usage let value = MXDMediaFileRecorder(initWithOutputURL: url)
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:presentationTime:
- (void)appendVideoFrame:(CVImageBufferRef)imageBuffer 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); presentationTime (CMTime, presentationTime)Swift usage instance.appendVideoFrame(appendVideoFrame: imageBuffer, presentationTime: 0.0)
appendAudioBuffer:
- (void)appendAudioBuffer:(AVAudioPCMBuffer *)audioBuffer;
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)Swift usage instance.appendAudioBuffer(appendAudioBuffer: audioBuffer)
appendAACAccessUnit:sampleRate:channels:objectType:config:
- (void)appendAACAccessUnit:(NSData *)accessUnit 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); sampleRate (Float64, sampleRate); channels (UInt32, channels); objectType (UInt32, objectType); config (NSData * _Nullable, config)Swift usage instance.appendAACAccessUnit(appendAACAccessUnit: data, sampleRate: 0.0, channels: channels, objectType: objectType, config: data)
MXDMediaFileView.h
Looping media-file playback source.
MXDMediaFileViewDelegate Protocol
mediaFileViewDidOutputVideoFrame:presentationTime:
- (void)mediaFileViewDidOutputVideoFrame:(CVImageBufferRef)imageBuffer presentationTime:(CMTime)presentationTime;
Kind Delegate / protocol callback Return voidDetails Callback invoked by MiXiD for mediaFileViewDidOutputVideoFrame presentationTime. Implement this method to observe lifecycle, media output, status, or error events. Parameters mediaFileViewDidOutputVideoFrame (CVImageBufferRef, imageBuffer); presentationTime (CMTime, presentationTime)Swift usage instance.mediaFileViewDidOutputVideoFrame(mediaFileViewDidOutputVideoFrame: imageBuffer, presentationTime: 0.0)
mediaFileViewDidOutputAudioBuffer:
- (void)mediaFileViewDidOutputAudioBuffer:(AVAudioPCMBuffer *)audioBuffer;
Kind Delegate / protocol callback Return voidDetails Callback invoked by MiXiD for mediaFileViewDidOutputAudioBuffer. Implement this method to observe lifecycle, media output, status, or error events. Parameters mediaFileViewDidOutputAudioBuffer (AVAudioPCMBuffer *, audioBuffer)Swift usage instance.mediaFileViewDidOutputAudioBuffer(mediaFileViewDidOutputAudioBuffer: audioBuffer)
mediaFileViewDidUpdatePosition:duration:
- (void)mediaFileViewDidUpdatePosition:(CMTime)position duration:(CMTime)duration;
Kind Delegate / protocol callback Return voidDetails Callback invoked by MiXiD for mediaFileViewDidUpdatePosition duration. Implement this method to observe lifecycle, media output, status, or error events. Parameters mediaFileViewDidUpdatePosition (CMTime, position); duration (CMTime, duration)Swift usage instance.mediaFileViewDidUpdatePosition(mediaFileViewDidUpdatePosition: presentationTime, duration: presentationTime)
mediaFileViewDidFailWithError:
- (void)mediaFileViewDidFailWithError:(NSError *)error;
Kind Delegate / protocol callback Return voidDetails Callback invoked by MiXiD for mediaFileViewDidFailWithError. Implement this method to observe lifecycle, media output, status, or error events. Parameters mediaFileViewDidFailWithError (NSError *, error)Swift usage instance.mediaFileViewDidFailWithError(mediaFileViewDidFailWithError: nil)
MXDMediaFileView
Name Declaration Details URL@property (nonatomic, copy, nullable) NSURL *URL;Endpoint or file URL used by the component. delegate@property (nonatomic, weak, nullable) id<MXDMediaFileViewDelegate> delegate;Receives lifecycle, media output, status, or error callbacks. playing@property (nonatomic, assign, readonly, getter=isPlaying) BOOL playing;Public configuration or state exposed by this API. duration@property (nonatomic, assign, readonly) CMTime duration;Public configuration or state exposed by this API.
initWithURL:
- (instancetype)initWithURL:(nullable NSURL *)url;
Kind Instance method Return instancetypeDetails Initializes the receiver for initWithURL. Use this to provide required URLs, ports, names, peer connections, or configuration objects. Parameters initWithURL (nullable NSURL *, url)Swift usage let value = MXDMediaFileView(initWithURL: url)
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()
seekToTime:
- (void)seekToTime:(CMTime)time;
Kind Instance method Return voidDetails Performs the seekToTime operation on this MiXiD component. Parameters seekToTime (CMTime, time)Swift usage instance.seekToTime(seekToTime: 0.0)
MXDReplayAudioBuffer.h
In-memory rolling audio buffer for MiXiD replay previews.
MXDReplayAudioBuffer
Name Declaration Details durationSeconds@property (nonatomic, assign) NSTimeInterval durationSeconds;Public configuration or state exposed by this API. maxMemoryBytes@property (nonatomic, assign) NSUInteger maxMemoryBytes;Public configuration or state exposed by this API. bufferedDuration@property (nonatomic, assign, readonly) NSTimeInterval bufferedDuration;Public configuration or state exposed by this API. bufferedByteCount@property (nonatomic, assign, readonly) NSUInteger bufferedByteCount;Public configuration or state exposed by this API.
initWithDurationSeconds:maxMemoryBytes:
- (instancetype)initWithDurationSeconds:(NSTimeInterval)durationSeconds maxMemoryBytes:(NSUInteger)maxMemoryBytes NS_DESIGNATED_INITIALIZER;
Kind Instance method Return instancetypeDetails Initializes the receiver for initWithDurationSeconds maxMemoryBytes. Use this to provide required URLs, ports, names, peer connections, or configuration objects. Parameters initWithDurationSeconds (NSTimeInterval, durationSeconds); maxMemoryBytes (NSUInteger, maxMemoryBytes)Swift usage let value = MXDReplayAudioBuffer(initWithDurationSeconds: 0.0, maxMemoryBytes: 0)
init
- (instancetype)init;
Kind Instance method Return instancetypeDetails Initializes the receiver for init. Use this to provide required URLs, ports, names, peer connections, or configuration objects. Parameters No parameters. Swift usage let value = MXDReplayAudioBuffer()
appendAudioBuffer:hostTime:
- (void)appendAudioBuffer:(AVAudioPCMBuffer *)audioBuffer hostTime:(CFTimeInterval)hostTime;
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); hostTime (CFTimeInterval, hostTime)Swift usage instance.appendAudioBuffer(appendAudioBuffer: audioBuffer, hostTime: 0.0)
framesForLookbackSeconds:atHostTime:afterHostTime:
- (NSArray<MXDReplayAudioFrame *> *)framesForLookbackSeconds:(NSTimeInterval)lookbackSeconds atHostTime:(CFTimeInterval)hostTime afterHostTime:(CFTimeInterval)lastHostTime;
Kind Instance method Return NSArray<MXDReplayAudioFrame *> *Details Returns derived state, buffered data, preview information, or available source metadata from the component. Parameters framesForLookbackSeconds (NSTimeInterval, lookbackSeconds); atHostTime (CFTimeInterval, hostTime); afterHostTime (CFTimeInterval, lastHostTime)Swift usage let result = instance.framesForLookbackSeconds(framesForLookbackSeconds: 0.0, atHostTime: 0.0, afterHostTime: 0.0)
clear
- (void)clear;
Kind Instance method Return voidDetails Clears buffered state held by the object. Parameters No parameters. Swift usage instance.clear()
MXDReplayAudioFrame
Name Declaration Details hostTime@property (nonatomic, assign, readonly) CFTimeInterval hostTime;Public configuration or state exposed by this API. duration@property (nonatomic, assign, readonly) NSTimeInterval duration;Public configuration or state exposed by this API. buffer@property (nonatomic, strong, readonly) AVAudioPCMBuffer *buffer;Public configuration or state exposed by this API. byteSize@property (nonatomic, assign, readonly) NSUInteger byteSize;Public configuration or state exposed by this API.
MXDReplayBufferRecorder.h
In-memory replay buffer recorder for MiXiD streams.
Enums
MXDReplayBufferVideoCodec
MXDReplayBufferVideoCodecH264 = 0
MXDReplayBufferVideoCodecHEVC = 1
Typedefs
typedef void (^MXDReplayBufferSaveCompletion)(NSURL *_Nullable outputURL, NSError *_Nullable error);
MXDReplayBufferRecorderDelegate Protocol
replayBufferRecorderDidStart:
- (void)replayBufferRecorderDidStart:(MXDReplayBufferRecorder *)recorder;
Kind Delegate / protocol callback Return voidDetails Callback invoked by MiXiD for replayBufferRecorderDidStart. Implement this method to observe lifecycle, media output, status, or error events. Parameters replayBufferRecorderDidStart (MXDReplayBufferRecorder *, recorder)Swift usage instance.replayBufferRecorderDidStart(replayBufferRecorderDidStart: recorder)
replayBufferRecorderDidStop:
- (void)replayBufferRecorderDidStop:(MXDReplayBufferRecorder *)recorder;
Kind Delegate / protocol callback Return voidDetails Callback invoked by MiXiD for replayBufferRecorderDidStop. Implement this method to observe lifecycle, media output, status, or error events. Parameters replayBufferRecorderDidStop (MXDReplayBufferRecorder *, recorder)Swift usage instance.replayBufferRecorderDidStop(replayBufferRecorderDidStop: recorder)
replayBufferRecorder:didFailWithError:
- (void)replayBufferRecorder:(MXDReplayBufferRecorder *)recorder didFailWithError:(NSError *)error;
Kind Delegate / protocol callback Return voidDetails Callback invoked by MiXiD for replayBufferRecorder didFailWithError. Implement this method to observe lifecycle, media output, status, or error events. Parameters replayBufferRecorder (MXDReplayBufferRecorder *, recorder); didFailWithError (NSError *, error)Swift usage instance.replayBufferRecorder(replayBufferRecorder: recorder, didFailWithError: nil)
replayBufferRecorder:didUpdateStatus:
- (void)replayBufferRecorder:(MXDReplayBufferRecorder *)recorder didUpdateStatus:(NSString *)status;
Kind Delegate / protocol callback Return voidDetails Callback invoked by MiXiD for replayBufferRecorder didUpdateStatus. Implement this method to observe lifecycle, media output, status, or error events. Parameters replayBufferRecorder (MXDReplayBufferRecorder *, recorder); didUpdateStatus (NSString *, status)Swift usage instance.replayBufferRecorder(replayBufferRecorder: recorder, didUpdateStatus: "value")
replayBufferRecorder:didSaveReplayToURL:
- (void)replayBufferRecorder:(MXDReplayBufferRecorder *)recorder didSaveReplayToURL:(NSURL *)outputURL;
Kind Delegate / protocol callback Return voidDetails Callback invoked by MiXiD for replayBufferRecorder didSaveReplayToURL. Implement this method to observe lifecycle, media output, status, or error events. Parameters replayBufferRecorder (MXDReplayBufferRecorder *, recorder); didSaveReplayToURL (NSURL *, outputURL)Swift usage instance.replayBufferRecorder(replayBufferRecorder: recorder, didSaveReplayToURL: url)
MXDReplayBufferRecorder
Name Declaration Details delegate@property (nonatomic, weak, nullable) id<MXDReplayBufferRecorderDelegate> delegate;Receives lifecycle, media output, status, or error callbacks. recording@property (nonatomic, assign, readonly, getter=isRecording) BOOL recording;Read-only runtime state flag. bufferedDuration@property (nonatomic, assign, readonly) NSTimeInterval bufferedDuration;Public configuration or state exposed by this API. bufferedByteCount@property (nonatomic, assign, readonly) NSUInteger bufferedByteCount;Public configuration or state exposed by this API. previewBufferedByteCount@property (nonatomic, assign, readonly) NSUInteger previewBufferedByteCount;Public configuration or state exposed by this API. configuration@property (nonatomic, strong, readonly) MXDReplayBufferRecorderConfiguration *configuration;Public configuration or state exposed by this API.
initWithConfiguration:
- (instancetype)initWithConfiguration:(nullable MXDReplayBufferRecorderConfiguration *)configuration NS_DESIGNATED_INITIALIZER;
Kind Instance method Return instancetypeDetails Initializes the receiver for initWithConfiguration. Use this to provide required URLs, ports, names, peer connections, or configuration objects. Parameters initWithConfiguration (nullable MXDReplayBufferRecorderConfiguration *, configuration)Swift usage let value = MXDReplayBufferRecorder(initWithConfiguration: configuration)
init
- (instancetype)init;
Kind Instance method Return instancetypeDetails Initializes the receiver for init. Use this to provide required URLs, ports, names, peer connections, or configuration objects. Parameters No parameters. Swift usage let value = MXDReplayBufferRecorder()
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()
saveReplayToURL:completion:
- (void)saveReplayToURL:(NSURL *)outputURL completion:(nullable MXDReplayBufferSaveCompletion)completion;
Kind Instance method Return voidDetails Writes buffered media to the specified output URL and reports completion asynchronously. Parameters saveReplayToURL (NSURL *, outputURL); completion (nullable MXDReplayBufferSaveCompletion, completion)Swift usage instance.saveReplayToURL(saveReplayToURL: url, completion: completion)
saveReplayToURL:durationSeconds:completion:
- (void)saveReplayToURL:(NSURL *)outputURL durationSeconds:(NSTimeInterval)durationSeconds completion:(nullable MXDReplayBufferSaveCompletion)completion;
Kind Instance method Return voidDetails Writes buffered media to the specified output URL and reports completion asynchronously. Parameters saveReplayToURL (NSURL *, outputURL); durationSeconds (NSTimeInterval, durationSeconds); completion (nullable MXDReplayBufferSaveCompletion, completion)Swift usage instance.saveReplayToURL(saveReplayToURL: url, durationSeconds: 0.0, completion: completion)
previewFrameForLookbackSeconds:
- (nullable MXDReplayBufferPreviewFrame *)previewFrameForLookbackSeconds:(NSTimeInterval)secondsBack;
Kind Instance method Return nullable MXDReplayBufferPreviewFrame *Details Returns derived state, buffered data, preview information, or available source metadata from the component. Parameters previewFrameForLookbackSeconds (NSTimeInterval, secondsBack)Swift usage let result = instance.previewFrameForLookbackSeconds(previewFrameForLookbackSeconds: 0.0)
clearPreviewFrames
- (void)clearPreviewFrames;
Kind Instance method Return voidDetails Performs the clearPreviewFrames operation on this MiXiD component. Parameters No parameters. Swift usage instance.clearPreviewFrames()
appendVideoFrame:presentationTime:
- (void)appendVideoFrame:(CVImageBufferRef)imageBuffer 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); presentationTime (CMTime, presentationTime)Swift usage instance.appendVideoFrame(appendVideoFrame: imageBuffer, presentationTime: 0.0)
appendAudioBuffer:
- (void)appendAudioBuffer:(AVAudioPCMBuffer *)audioBuffer;
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)Swift usage instance.appendAudioBuffer(appendAudioBuffer: audioBuffer)
appendAACAccessUnit:sampleRate:channels:objectType:config:
- (void)appendAACAccessUnit:(NSData *)accessUnit 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); sampleRate (Float64, sampleRate); channels (UInt32, channels); objectType (UInt32, objectType); config (NSData * _Nullable, config)Swift usage instance.appendAACAccessUnit(appendAACAccessUnit: data, sampleRate: 0.0, channels: channels, objectType: objectType, config: data)
MXDReplayBufferRecorderConfiguration
Name Declaration Details durationSeconds@property (nonatomic, assign) NSTimeInterval durationSeconds;Public configuration or state exposed by this API. maxMemoryBytes@property (nonatomic, assign) NSUInteger maxMemoryBytes;Public configuration or state exposed by this API. videoWidth@property (nonatomic, assign) NSInteger videoWidth;Video encoding or rendering configuration. videoHeight@property (nonatomic, assign) NSInteger videoHeight;Video encoding or rendering configuration. videoFPS@property (nonatomic, assign) NSInteger videoFPS;Video encoding or rendering configuration. videoCodec@property (nonatomic, assign) MXDReplayBufferVideoCodec videoCodec;Public configuration or state exposed by this API. minVideoBitrateBps@property (nonatomic, assign) NSInteger minVideoBitrateBps;Video encoding or rendering configuration. maxVideoBitrateBps@property (nonatomic, assign) NSInteger maxVideoBitrateBps;Video encoding or rendering configuration. keyframeIntervalSeconds@property (nonatomic, assign) NSTimeInterval keyframeIntervalSeconds;Public configuration or state exposed by this API. segmentDurationSeconds@property (nonatomic, assign) NSTimeInterval segmentDurationSeconds;Public configuration or state exposed by this API. previewEnabled@property (nonatomic, assign) BOOL previewEnabled;Public configuration or state exposed by this API. previewFPS@property (nonatomic, assign) NSInteger previewFPS;Video encoding or rendering configuration. previewJPEGQuality@property (nonatomic, assign) CGFloat previewJPEGQuality;Public configuration or state exposed by this API. maxPreviewMemoryBytes@property (nonatomic, assign) NSUInteger maxPreviewMemoryBytes;Public configuration or state exposed by this API.
defaultConfiguration
+ (instancetype)defaultConfiguration;
Kind Class method Return instancetypeDetails Creates, discovers, or returns shared information for defaultConfiguration. Call this on the class before creating or configuring an instance. Parameters No parameters. Swift usage let result = MXDReplayBufferRecorderConfiguration.defaultConfiguration()
MXDReplayBufferPreviewFrame
Name Declaration Details hostTime@property (nonatomic, assign, readonly) CFTimeInterval hostTime;Public configuration or state exposed by this API. jpegData@property (nonatomic, copy, readonly) NSData *jpegData;Public configuration or state exposed by this API. sourceSize@property (nonatomic, assign, readonly) CGSize sourceSize;Public configuration or state exposed by this API. cleanSize@property (nonatomic, assign, readonly) CGSize cleanSize;Public configuration or state exposed by this API. previewSize@property (nonatomic, assign, readonly) CGSize previewSize;Public configuration or state exposed by this API. byteCount@property (nonatomic, assign, readonly) NSUInteger byteCount;Public configuration or state exposed by this API.
Back to API Reference index