FMLiveSwitchCocoaAudioUnitSink Class Reference

Instance Methods

(bool) - useVoiceProcessingIO
 
(void) - setUseVoiceProcessingIO:
 
(instancetype) - initWithConfig:
 
(instancetype) - initWithInput:
 
(instancetype) - initWithInputs:
 
- Instance Methods inherited from FMLiveSwitchAudioSink
(FMLiveSwitchAudioConfig *) - config
 Gets the input configuration. More...
 
(FMLiveSwitchIAudioOutputCollection *) - createOutputCollectionWithInput:
 Creates an output collection. More...
 
(double) - gain
 Gets a value indicating the gain (input amplification) of this sink. More...
 
(instancetype) - init
 Initializes a new instance of the FMLiveSwitchAudioSink class. More...
 
(instancetype) - initWithInputFormat:
 Initializes a new instance of the FMLiveSwitchAudioSink class. More...
 
(bool) - processFrame:
 Processes a frame. More...
 
(void) - setGain:
 Sets a value indicating the gain (input amplification) of this sink. More...
 
- Instance Methods inherited from FMLiveSwitchMediaSink
(void) - addInput:
 Adds an input. More...
 
(void) - addInputs:
 Adds some inputs. More...
 
(void) - addOnDisabledChange:
 Adds a handler that is raised when the Disabled property changes state. More...
 
(void) - addOnPausedChange:
 Adds a handler that is raised when the Paused property changes state. More...
 
(void) - addOnProcessControlFrameResponses:
 Adds a handler that is raised when control frame responses are processed. More...
 
(NSMutableArray *) - addOnProcessControlFrameResponsesWithBlock
 Adds a handler that is raised when control frame responses are processed. More...
 
(void) - addOnProcessControlFrameResponsesWithBlock:
 Adds a handler that is raised when control frame responses are processed. More...
 
(void) - addOnProcessedControlFrameResponses:
 Adds a handler that is raised when control frame responses have been processed. More...
 
(NSMutableArray *) - addOnProcessedControlFrameResponsesWithBlock
 Adds a handler that is raised when control frame responses have been processed. More...
 
(void) - addOnProcessedControlFrameResponsesWithBlock:
 Adds a handler that is raised when control frame responses have been processed. More...
 
(void) - addOnProcessedFrame:
 Adds a handler that is raised when a frame has been processed. More...
 
(TFrame) - addOnProcessedFrameWithBlock
 Adds a handler that is raised when a frame has been processed. More...
 
(void) - addOnProcessedFrameWithBlock:
 Adds a handler that is raised when a frame has been processed. More...
 
(void) - addOnProcessFrame:
 Adds a handler that is raised when a frame is being processed. More...
 
(void) - addOnProcessFrameException:
 Adds a handler that is raised when an exception is thrown while processing a frame. More...
 
(TFrame, NSException *) - addOnProcessFrameExceptionWithBlock
 Adds a handler that is raised when an exception is thrown while processing a frame. More...
 
(void) - addOnProcessFrameExceptionWithBlock:
 Adds a handler that is raised when an exception is thrown while processing a frame. More...
 
(TFrame) - addOnProcessFrameWithBlock
 Adds a handler that is raised when a frame is being processed. More...
 
(void) - addOnProcessFrameWithBlock:
 Adds a handler that is raised when a frame is being processed. More...
 
(void) - addOnRaiseControlFrames:
 Adds a handler that is raised when control frames are raised. More...
 
(NSMutableArray *) - addOnRaiseControlFramesWithBlock
 Adds a handler that is raised when control frames are raised. More...
 
(void) - addOnRaiseControlFramesWithBlock:
 Adds a handler that is raised when control frames are raised. More...
 
(void) - addOnRaisedControlFrames:
 Adds a handler that is raised when control frames have been raised. More...
 
(NSMutableArray *) - addOnRaisedControlFramesWithBlock
 Adds a handler that is raised when control frames have been raised. More...
 
(void) - addOnRaisedControlFramesWithBlock:
 Adds a handler that is raised when control frames have been raised. More...
 
(void) - addOnStateChange:
 Adds a handler that is raised when the state changes. More...
 
(TSink) - addOnStateChangeWithBlock
 Adds a handler that is raised when the state changes. More...
 
(void) - addOnStateChangeWithBlock:
 Adds a handler that is raised when the state changes. More...
 
(bool) - allowDiagnosticTimer
 Gets whether this media sink is allowed to be timed. More...
 
(bool) - allowInputRateTimer
 Gets whether this media pipe input rate is allowed to be timed. More...
 
(FMLiveSwitchFuture< id > *) - changeOutput:
 Changes the current output. More...
 
(NSString *) - content
 Gets the content descriptor. More...
 
(TIOutputCollection) - createOutputCollectionWithInput:
 Creates an output collection. More...
 
(bool) - deactivated
 Gets a value indicating whether this sink is deactivated. More...
 
(NSString *) - description
 Returns a string that represents this instance. More...
 
(bool) - destroy
 Destroys this instance. More...
 
(bool) - disabled
 Gets a value indicating whether this sink is disabled. More...
 
(void) - doDestroy
 Destroys this instance. More...
 
(void) - doPostProcessFrame:inputBuffer:
 Post-processes a frame. More...
 
(void) - doPreProcessFrame:inputBuffer:
 Pre-processes a frame. More...
 
(void) - doProcessControlFrameResponses:
 Processes control frame responses. More...
 
(void) - doProcessFrame:inputBuffer:
 Processes a frame. More...
 
(FMLiveSwitchError *) - doProcessSdpMediaDescription:isOffer:isLocalDescription:
 Processes a remote SDP media description. More...
 
(void) - doProcessSinkStatsFromInputWithSinkStats:
 Processes sink stats from an input. More...
 
(void) - doProcessTrackStatsFromInputWithTrackStats:
 Processes track stats from an input. More...
 
(int) - getCcmSequenceNumber
 Gets the CCM sequence number. More...
 
(FMLiveSwitchFuture< NSMutableArray * > *) - getOutputs
 Gets the available outputs. More...
 
(long long) - getPipelineSystemDelayWithOutputFormat:
 Gets the total pipeline system delay in ticks for a given output format. More...
 
(bool) - hasInput:
 Determines whether this pipe has the specified input. More...
 
(void) - incrementCcmSequenceNumber
 Increments the CCM sequence number. More...
 
(instancetype) - initWithInputFormat:
 Initializes a new instance of the FMLiveSwitchMediaSink`8 class. More...
 
(TIOutput) - input
 Gets the input. More...
 
(void) - inputAddedWithInput:
 Called when an input is added. More...
 
(bool) - inputDeactivated
 Gets whether input is deactivated. More...
 
(TFormat) - inputFormat
 Gets the input format. More...
 
(bool) - inputMuted
 Gets whether input is muted. More...
 
(void) - inputRemovedWithInput:
 Called when an input is removed. More...
 
(NSString *) - inputRtpStreamId
 Gets the input RTP stream identifier. More...
 
(NSMutableArray *) - inputs
 Gets the inputs. More...
 
(long long) - inputSynchronizationSource
 Gets the input synchronization source. More...
 
(bool) - isMixer
 Gets whether this sink processes media from different sources. More...
 
(NSString *) - label
 Gets a label that identifies this class. More...
 
(int) - maxInputBitrate
 Gets the maximum allowed input bitrate, in kbps. More...
 
(FMLiveSwitchEncodingInfo *) - maxInputEncoding
 Gets the maximum allowed input encoding. More...
 
(int) - minInputBitrate
 Gets the minimum allowed input bitrate, in kbps. More...
 
(FMLiveSwitchEncodingInfo *) - minInputEncoding
 Gets the minimum allowed input encoding. More...
 
(bool) - muted
 Gets whether input is muted. More...
 
(FMLiveSwitchSinkOutput *) - output
 Gets the current output. More...
 
(bool) - overConstrained
 Gets whether this sink is over-constrained. More...
 
(bool) - overConstrainedBitrate
 Gets whether the sink bitrate is over-constrained. More...
 
(bool) - overConstrainedInput
 Gets whether the input is over-contrained. More...
 
(bool) - overConstrainedInputBitrate
 Gets whether the minimum allowed input bitrate exceeds the maximum allowed input bitrate. More...
 
(bool) - paused
 Gets a value indicating whether this sink is paused. More...
 
(bool) - persistent
 Gets a value indicating whether this instance is persistent. More...
 
(NSString *) - pipelineJson
 Gets the pipeline JSON with this as the central point. More...
 
(NSString *) - pipelineJsonFromInput
 Gets the pipeline JSON from an input. More...
 
(void) - processControlFrameResponse:
 Processes a control frame response. More...
 
(void) - processControlFrameResponses:
 Processes control frame responses. More...
 
(bool) - processFrame:
 Processes a frame. More...
 
(FMLiveSwitchProcessFramePolicy) - processFramePolicy
 Gets the ProcessFramePolicy for this media input. More...
 
(FMLiveSwitchError *) - processSdpMediaDescriptionFromInputWithMediaDescription:isOffer:isLocalDescription:
 Processes a remote SDP media description from an output. More...
 
(void) - processSinkStatsFromInputWithSinkStats:
 Processes sink stats from an input. More...
 
(void) - processTrackStatsFromInputWithTrackStats:
 Processes track stats from an input. More...
 
(void) - raiseControlFrame:
 Raises a control frame. More...
 
(void) - raiseControlFrame:inputs:
 Raises a control frame. More...
 
(void) - raiseControlFrames:
 Raises control frames. More...
 
(void) - raiseControlFrames:inputs:
 Raises control frames. More...
 
(void) - raiseDisabledChange
 Raises the OnDisabledChange event. More...
 
(bool) - removeInput:
 Removes an input. More...
 
(void) - removeInputs
 Removes all inputs. More...
 
(void) - removeInputs:
 Removes some inputs. More...
 
(void) - removeOnDisabledChange:
 Removes a handler that is raised when the Disabled property changes state. More...
 
(void) - removeOnPausedChange:
 Removes a handler that is raised when the Paused property changes state. More...
 
(void) - removeOnProcessControlFrameResponses:
 Removes a handler that is raised when control frame responses are processed. More...
 
(void) - removeOnProcessedControlFrameResponses:
 Removes a handler that is raised when control frame responses have been processed. More...
 
(void) - removeOnProcessedFrame:
 Removes a handler that is raised when a frame has been processed. More...
 
(void) - removeOnProcessFrame:
 Removes a handler that is raised when a frame is being processed. More...
 
(void) - removeOnProcessFrameException:
 Removes a handler that is raised when an exception is thrown while processing a frame. More...
 
(void) - removeOnRaiseControlFrames:
 Removes a handler that is raised when control frames are raised. More...
 
(void) - removeOnRaisedControlFrames:
 Removes a handler that is raised when control frames have been raised. More...
 
(void) - removeOnStateChange:
 Removes a handler that is raised when the state changes. More...
 
(void) - setDeactivated:
 Sets a value indicating whether this sink is deactivated. More...
 
(void) - setDisabled:
 Sets a value indicating whether this sink is disabled. More...
 
(void) - setInput:
 Sets the input. More...
 
(void) - setInputDeactivated:
 Sets whether input is deactivated. More...
 
(void) - setInputMuted:
 Sets whether input is muted. More...
 
(void) - setInputRtpStreamId:
 Sets the input RTP stream identifier. More...
 
(void) - setInputs:
 Sets the inputs. More...
 
(void) - setInputSynchronizationSource:
 Sets the input synchronization source. More...
 
(void) - setMaxInputBitrate:
 Sets the maximum allowed input bitrate, in kbps. More...
 
(void) - setMaxInputEncoding:
 Sets the maximum allowed input encoding. More...
 
(void) - setMinInputBitrate:
 Sets the minimum allowed input bitrate, in kbps. More...
 
(void) - setMinInputEncoding:
 Sets the minimum allowed input encoding. More...
 
(void) - setMuted:
 Sets whether input is muted. More...
 
(void) - setOutput:
 Sets the current output. More...
 
(void) - setPersistent:
 Sets a value indicating whether this instance is persistent. More...
 
(void) - setProcessFramePolicy:
 Sets the ProcessFramePolicy for this media input. More...
 
(void) - setSystemDelay:
 Sets the system delay in ticks. More...
 
(FMLiveSwitchMediaSinkState) - state
 Gets the state. More...
 
(long long) - systemDelay
 Gets the system delay in ticks. More...
 
(bool) - trySetInputFormatWithFrame:
 Sets the input format, if not set, using the frame's last buffer format. More...
 
(bool) - updateDisabled
 Updates the disabled property. More...
 
- Instance Methods inherited from <FMLiveSwitchIAudioOutput>
(void) - setVolume:
 Sets a value indicating the volume (output resistance) of this source. More...
 
(double) - volume
 Gets a value indicating the volume (output resistance) of this source. More...
 
- Instance Methods inherited from <FMLiveSwitchIMediaOutput>
(void) - addOnDisabledChange:
 Adds a handler that is raised when the Disabled property changes state. More...
 
(void) - addOnPausedChange:
 Adds a handler that is raised when the Paused property changes state. More...
 
(void) - addOnProcessControlFrames:
 Adds a handler that is raised when control frames are processed. More...
 
(NSMutableArray *) - addOnProcessControlFramesWithBlock
 Adds a handler that is raised when control frames are processed. More...
 
(void) - addOnProcessControlFramesWithBlock:
 Adds a handler that is raised when control frames are processed. More...
 
(void) - addOnRaiseControlFrameResponses:
 Adds a handler that is raised when a control frame response is raised. More...
 
(NSMutableArray *) - addOnRaiseControlFrameResponsesWithBlock
 Adds a handler that is raised when a control frame response is raised. More...
 
(void) - addOnRaiseControlFrameResponsesWithBlock:
 Adds a handler that is raised when a control frame response is raised. More...
 
(void) - addOnRaiseFrame:
 Adds a handler that is raised when a frame is raised. More...
 
(FMLiveSwitchMediaFrame *) - addOnRaiseFrameWithBlock
 Adds a handler that is raised when a frame is raised. More...
 
(void) - addOnRaiseFrameWithBlock:
 Adds a handler that is raised when a frame is raised. More...
 
(NSString *) - content
 Gets the content descriptor. More...
 
(int) - getCcmSequenceNumber
 Gets the CCM sequence number. More...
 
(long long) - getPipelineSystemDelayWithOutputFormat:
 Gets the total pipeline system delay in ticks for a given media format. More...
 
(void) - incrementCcmSequenceNumber
 Increments the CCM sequence number. More...
 
(int) - maxOutputBitrate
 Gets the maximum allowed output bitrate, in kbps. More...
 
(FMLiveSwitchEncodingInfo *) - maxOutputEncoding
 Gets the maximum allowed output encoding. More...
 
(int) - minOutputBitrate
 Gets the minimum allowed output bitrate, in kbps. More...
 
(FMLiveSwitchEncodingInfo *) - minOutputEncoding
 Gets the minimum allowed output encoding. More...
 
(bool) - outputDeactivated
 Gets whether output is deactivated. More...
 
(bool) - outputMuted
 Gets whether output is muted. More...
 
(NSString *) - outputRtpStreamId
 Gets the output RTP stream identifier. More...
 
(bool) - outputSynchronizable
 Gets whether output is synchronizable. More...
 
(long long) - outputSynchronizationSource
 Gets the output synchronization source. More...
 
(void) - processControlFrames:
 Processes control frames. More...
 
(FMLiveSwitchError *) - processSdpMediaDescriptionFromOutputWithMediaDescription:isOffer:isLocalDescription:
 Processes a local SDP media description from an output. More...
 
(void) - processSourceStatsFromOutputWithSourceStats:
 Processes source stats from an output. More...
 
(void) - processTrackStatsFromOutputWithTrackStats:
 Processes track stats from an output. More...
 
(void) - removeOnDisabledChange:
 Removes a handler that is raised when the Disabled property changes state. More...
 
(void) - removeOnPausedChange:
 Removes a handler that is raised when the Paused property changes state. More...
 
(void) - removeOnProcessControlFrames:
 Removes a handler that is raised when control frames are processed. More...
 
(void) - removeOnRaiseControlFrameResponses:
 Removes a handler that is raised when a control frame response is raised. More...
 
(void) - removeOnRaiseFrame:
 Removes a handler that is raised when a frame is raised. More...
 
(long long) - systemDelay
 Gets the system delay in ticks. More...
 
(int) - targetOutputBitrate
 Gets the target output bitrate, in kbps. More...
 
(FMLiveSwitchEncodingInfo *) - targetOutputEncoding
 Gets the target output encoding. More...
 
- Instance Methods inherited from <FMLiveSwitchIOutput>
(void) - addOutput:
 Adds an output. More...
 
(void) - addOutputs:
 Adds some outputs. More...
 
(NSObject< FMLiveSwitchIInput > *) - output
 Gets the output. More...
 
(FMLiveSwitchMediaFormat *) - outputFormat
 Gets the output format. More...
 
(NSMutableArray *) - outputs
 Gets the outputs. More...
 
(NSString *) - pipelineJsonFromOutput
 Gets the pipeline JSON from an output. More...
 
(bool) - removeOutput:
 Removes an output. More...
 
(void) - removeOutputs
 Removes all outputs. More...
 
(void) - removeOutputs:
 Removes some outputs. More...
 
- Instance Methods inherited from <FMLiveSwitchIElement>
(NSString *) - externalId
 Gets the external identifier. More...
 
(NSString *) - id
 Gets the identifier. More...
 
(NSString *) - pipelineJson
 Gets the pipeline JSON with this as the central point. More...
 
(void) - setExternalId:
 Sets the external identifier. More...
 
- Instance Methods inherited from <FMLiveSwitchIMediaElement>
(bool) - deactivated
 Gets a value indicating whether this instance is deactivated. More...
 
(bool) - destroy
 Destroys this instance. More...
 
(bool) - disabled
 Gets a value indicating whether this instance is disabled. More...
 
(NSString *) - label
 Gets a label that identifies this instance. More...
 
(bool) - muted
 Gets a value indicating whether this instance is muted. More...
 
(bool) - paused
 Gets a value indicating whether this instance is paused. More...
 
(bool) - persistent
 Gets a value indicating whether this instance is persistent. More...
 
(void) - setDeactivated:
 Sets a value indicating whether this instance is deactivated. More...
 
(void) - setMuted:
 Sets a value indicating whether this instance is muted. More...
 

Class Methods

(instancetype) + audioUnitSinkWithConfig:
 
(instancetype) + audioUnitSinkWithInput:
 
(instancetype) + audioUnitSinkWithInputs:
 
- Class Methods inherited from FMLiveSwitchAudioSink
(FMLiveSwitchAudioSink *) + audioSink
 Initializes a new instance of the FMLiveSwitchAudioSink class. More...
 
(FMLiveSwitchAudioSink *) + audioSinkWithInputFormat:
 Initializes a new instance of the FMLiveSwitchAudioSink class. More...
 
- Class Methods inherited from FMLiveSwitchMediaSink
(FMLiveSwitchMediaSink *) + mediaSink
 Initializes a new instance of the FMLiveSwitchMediaSink`8 class. More...
 
(FMLiveSwitchMediaSink *) + mediaSinkWithInputFormat:
 Initializes a new instance of the FMLiveSwitchMediaSink`8 class. More...
 

Protected Attributes

AudioUnit _unit
 
AudioConverterRef _converter
 
AudioBufferList * _converterInput
 
int _samplesReadIndex
 
int _samplesWriteIndex
 
long long _samplesReadCount
 
long long _samplesWriteCount
 
NSMutableData * _samples
 
volatile bool _pauseRendering
 
volatile bool _renderingWrite
 
volatile bool _renderingRead
 
bool _useVoiceProcessingIO
 
int _clockRate
 
int _channelCount
 
AURenderCallbackStruct _auRenderCallback
 
volatile bool _ready
 
volatile bool _interrupted
 
NSObject_readyLock
 
volatile bool _wasReady
 
- Protected Attributes inherited from FMLiveSwitchMediaSink
 __pad0__: FMLiveSwitchMediaSinkBase<FMLiveSwitchIMediaInput
 
 FMLiveSwitchIInput
 
 FMLiveSwitchIMediaElement
 

Method Documentation

◆ audioUnitSinkWithConfig:

+ (instancetype) audioUnitSinkWithConfig: (FMLiveSwitchAudioConfig *)  config

◆ audioUnitSinkWithInput:

+ (instancetype) audioUnitSinkWithInput: (NSObject<FMLiveSwitchIAudioOutput> *)  input

◆ audioUnitSinkWithInputs:

+ (instancetype) audioUnitSinkWithInputs: (NSMutableArray *)  inputs

◆ initWithConfig:

- (instancetype) initWithConfig: (FMLiveSwitchAudioConfig *)  config

◆ initWithInput:

- (instancetype) initWithInput: (NSObject<FMLiveSwitchIAudioOutput> *)  input

◆ initWithInputs:

- (instancetype) initWithInputs: (NSMutableArray *)  inputs

◆ setUseVoiceProcessingIO:

- (void) setUseVoiceProcessingIO: (bool)  useVoiceProcessingIO

◆ useVoiceProcessingIO

- (bool) useVoiceProcessingIO

Member Data Documentation

◆ _auRenderCallback

- (AURenderCallbackStruct) _auRenderCallback
protected

◆ _channelCount

- (int) _channelCount
protected

◆ _clockRate

- (int) _clockRate
protected

◆ _converter

- (AudioConverterRef) _converter
protected

◆ _converterInput

- (AudioBufferList*) _converterInput
protected

◆ _interrupted

- (volatile bool) _interrupted
protected

◆ _pauseRendering

- (volatile bool) _pauseRendering
protected

◆ _ready

- (volatile bool) _ready
protected

◆ _readyLock

- (NSObject*) _readyLock
protected

◆ _renderingRead

- (volatile bool) _renderingRead
protected

◆ _renderingWrite

- (volatile bool) _renderingWrite
protected

◆ _samples

- (NSMutableData*) _samples
protected

◆ _samplesReadCount

- (long long) _samplesReadCount
protected

◆ _samplesReadIndex

- (int) _samplesReadIndex
protected

◆ _samplesWriteCount

- (long long) _samplesWriteCount
protected

◆ _samplesWriteIndex

- (int) _samplesWriteIndex
protected

◆ _unit

- (AudioUnit) _unit
protected

◆ _useVoiceProcessingIO

- (bool) _useVoiceProcessingIO
protected

◆ _wasReady

- (volatile bool) _wasReady
protected