FMLiveSwitchCocoaAudioUnitSource Class Reference

Instance Methods

(bool) - useVoiceProcessingIO
 
(void) - setUseVoiceProcessingIO:
 
(bool) - bypassVoiceProcessing
 
(void) - setBypassVoiceProcessing:
 
(bool) - voiceProcessingEnableAGC
 
(void) - setVoiceProcessingEnableAGC:
 
(bool) - observeInterruptions
 
(void) - setObserveInterruptions:
 
(instancetype) - initWithConfig:
 
- Instance Methods inherited from FMLiveSwitchAudioSource
(int) - calculateDurationFloatWithDataLength:
 Calculates the duration of an audio chunk given its data length (the number of bytes) and assuming that the clock rate and channel count match the output format. More...
 
(int) - calculateDurationWithDataLength:
 Calculates the duration of an audio chunk given its data length (the number of bytes) and assuming that the clock rate and channel count match the output format. More...
 
(FMLiveSwitchAudioConfig *) - config
 Gets the output configuration. More...
 
(FMLiveSwitchIAudioInputCollection *) - createInputCollectionWithOutput:
 Creates an input collection. More...
 
(bool) - disableTimestampReset
 Gets whether the timestamp should be reset using the wall clock after timestampResetInterval milliseconds elapse between frames. More...
 
(bool) - forceTimestampReset
 Gets whether the timestamp should be reset before the next frame is processed. More...
 
(int) - frameDuration
 Gets the frame duration in milliseconds. More...
 
(instancetype) - initWithOutputFormat:
 Initializes a new instance of the FMLiveSwitchAudioSource class. More...
 
(instancetype) - initWithOutputFormat:frameDuration:
 Initializes a new instance of the FMLiveSwitchAudioSource class. More...
 
(void) - raiseFrame:
 Raises a frame. More...
 
(void) - setDisableTimestampReset:
 Sets whether the timestamp should be reset using the wall clock after timestampResetInterval milliseconds elapse between frames. More...
 
(void) - setForceTimestampReset:
 Sets whether the timestamp should be reset before the next frame is processed. More...
 
(void) - setTimestampResetInterval:
 Sets the amount of time in milliseconds between audio frames that will trigger a reset of the timestamp to the wall clock. More...
 
(void) - setVolume:
 Sets a value indicating the volume (output resistance) of this source. More...
 
(int) - timestampResetInterval
 Gets the amount of time in milliseconds between audio frames that will trigger a reset of the timestamp to the wall clock. More...
 
(bool) - trySetSystemTimestampWithFrame:
 Tries to set the system timestamp on an audio frame. More...
 
(bool) - trySetTimestampWithFrame:
 Tries to set the timestamp on an audio frame. More...
 
(double) - volume
 Gets a value indicating the volume (output resistance) of this source. More...
 
- Instance Methods inherited from FMLiveSwitchMediaSource
(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) - addOnProcessedControlFrames:
 Adds a handler that is raised when control frames have been processed. More...
 
(NSMutableArray *) - addOnProcessedControlFramesWithBlock
 Adds a handler that is raised when control frames have been processed. More...
 
(void) - addOnProcessedControlFramesWithBlock:
 Adds a handler that is raised when control frames have been processed. More...
 
(void) - addOnRaiseControlFrameResponses:
 Adds a handler that is raised when control frame responses are raised. More...
 
(NSMutableArray *) - addOnRaiseControlFrameResponsesWithBlock
 Adds a handler that is raised when control frame responses are raised. More...
 
(void) - addOnRaiseControlFrameResponsesWithBlock:
 Adds a handler that is raised when control frame responses are raised. More...
 
(void) - addOnRaisedControlFrameResponses:
 Adds a handler that is raised when control frame responses have been raised. More...
 
(NSMutableArray *) - addOnRaisedControlFrameResponsesWithBlock
 Adds a handler that is raised when control frame responses have been raised. More...
 
(void) - addOnRaisedControlFrameResponsesWithBlock:
 Adds a handler that is raised when control frame responses have been raised. More...
 
(void) - addOnRaisedFrame:
 Adds a handler that is raised when a frame has been raised. More...
 
(TFrame) - addOnRaisedFrameWithBlock
 Adds a handler that is raised when a frame has been raised. More...
 
(void) - addOnRaisedFrameWithBlock:
 Adds a handler that is raised when a frame has been raised. More...
 
(void) - addOnRaiseFrame:
 Adds a handler that is raised when a frame is being raised. More...
 
(TFrame) - addOnRaiseFrameWithBlock
 Adds a handler that is raised when a frame is being raised. More...
 
(void) - addOnRaiseFrameWithBlock:
 Adds a handler that is raised when a frame is being raised. More...
 
(void) - addOnStateChange:
 Adds a handler that is raised when the state changes. More...
 
(TSource) - 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...
 
(void) - addOutput:
 Adds an output. More...
 
(void) - addOutputs:
 Adds some outputs. More...
 
(bool) - allowDiagnosticTimer
 Gets whether this media pipe is allowed to be timed. More...
 
(bool) - allowOutputRateTimer
 Gets whether this media pipe output rate is allowed to be timed. More...
 
(bool) - canChangeBitrate
 Gets whether this source can change the output bitrate. More...
 
(bool) - canPauseBitrate
 Gets whether this source can pause the output bitrate. More...
 
(FMLiveSwitchFuture< id > *) - changeInput:
 Changes the current input. More...
 
(NSString *) - content
 Gets the content descriptor. More...
 
(TIInputCollection) - createInputCollectionWithOutput:
 Creates an input collection. More...
 
(bool) - deactivated
 Gets a value indicating whether this source is deactivated. More...
 
(bool) - deactivatedByApplication
 Gets whether this source is deactivated because the application has requested it. More...
 
(bool) - deactivatedByServer
 Gets whether this source is deactivated because the server has requested it. 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 source is disabled. More...
 
(void) - doDestroy
 Destroys this instance. More...
 
(void) - doProcessControlFrames:
 Processes control frames. More...
 
(FMLiveSwitchError *) - doProcessSdpMediaDescription:isOffer:isLocalDescription:
 Processes a local SDP media description. More...
 
(void) - doProcessSourceStatsFromOutputWithSourceStats:
 Processes source stats from an output. More...
 
(void) - doProcessTrackStatsFromOutputWithTrackStats:
 Processes track stats from an output. More...
 
(FMLiveSwitchFuture< id > *) - doStart
 Starts this instance. More...
 
(FMLiveSwitchFuture< id > *) - doStop
 Stops this instance. More...
 
(int) - getCcmSequenceNumber
 Gets the CCM sequence number. More...
 
(FMLiveSwitchFuture< NSMutableArray * > *) - getInputs
 Gets the available inputs. More...
 
(long long) - getPipelineSystemDelayWithOutputFormat:
 Gets the total pipeline system delay in ticks for a given output format. More...
 
(bool) - hasOutput:
 Determines whether this source has the specified output. More...
 
(void) - incrementCcmSequenceNumber
 Increments the CCM sequence number. More...
 
(instancetype) - initWithOutputFormat:
 Initializes a new instance of the FMLiveSwitchMediaSource`8 class. More...
 
(FMLiveSwitchSourceInput *) - input
 Gets the current input. More...
 
(bool) - isDestroyed
 Gets whether the current state is Destroyed. More...
 
(bool) - isStarted
 Gets whether the current state is Started. More...
 
(bool) - isStopped
 Gets whether the current state is Stopped. More...
 
(NSString *) - label
 Gets a label that identifies this class. 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) - muted
 Gets whether output is muted. More...
 
(TIInput) - output
 Gets the output. More...
 
(void) - outputAddedWithOutput:
 Called when an output is added. More...
 
(bool) - outputCanProcessFrameWithOutput:
 Determines whether an output can process a frame from this pipe. More...
 
(bool) - outputDeactivated
 Gets whether output is deactivated. More...
 
(TFormat) - outputFormat
 Gets the output format. More...
 
(bool) - outputMuted
 Gets whether output is muted. More...
 
(void) - outputRemovedWithOutput:
 Called when an output is removed. More...
 
(NSString *) - outputRtpStreamId
 Gets the output RTP stream identifier. More...
 
(NSMutableArray *) - outputs
 Gets the outputs. More...
 
(bool) - outputSynchronizable
 Gets whether output is synchronizable. More...
 
(long long) - outputSynchronizationSource
 Gets the output synchronization source. More...
 
(bool) - overConstrained
 Gets whether this source is over-constrained. More...
 
(bool) - overConstrainedBitrate
 Gets whether the source bitrate is over-constrained. More...
 
(bool) - overConstrainedOutput
 Gets whether the output is over-constrained. More...
 
(bool) - overConstrainedOutputBitrate
 Gets whether the minimum allowed output bitrate exceeds the maximum allowed output bitrate. More...
 
(bool) - paused
 Gets a value indicating whether this source 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 *) - pipelineJsonFromOutput
 Gets the pipeline JSON from an output. More...
 
(void) - processControlFrame:
 Processes a control frame. 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) - raiseControlFrameResponse:
 Raises a control frame response. More...
 
(void) - raiseControlFrameResponse:outputs:
 Raises a control frame response. More...
 
(void) - raiseControlFrameResponses:
 Raises control frame responses. More...
 
(void) - raiseControlFrameResponses:outputs:
 Raises control frame responses. More...
 
(void) - raiseDisabledChange
 Raises the OnDisabledChange event. More...
 
(void) - raiseFrame:
 Raises a frame. 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) - removeOnProcessedControlFrames:
 Removes a handler that is raised when control frames have been processed. More...
 
(void) - removeOnRaiseControlFrameResponses:
 Removes a handler that is raised when control frame responses are raised. More...
 
(void) - removeOnRaisedControlFrameResponses:
 Removes a handler that is raised when control frame responses have been raised. More...
 
(void) - removeOnRaisedFrame:
 Removes a handler that is raised when a frame has been raised. More...
 
(void) - removeOnRaiseFrame:
 Removes a handler that is raised when a frame is being raised. More...
 
(void) - removeOnStateChange:
 Removes a handler that is raised when the state changes. More...
 
(bool) - removeOutput:
 Removes an output. More...
 
(void) - removeOutputs
 Removes all outputs. More...
 
(void) - removeOutputs:
 Removes some outputs. More...
 
(void) - setDeactivated:
 Sets a value indicating whether this source is deactivated. More...
 
(void) - setInput:
 Sets the current input. More...
 
(void) - setMaxOutputBitrate:
 Sets the maximum allowed output bitrate, in kbps. More...
 
(void) - setMaxOutputEncoding:
 Sets the maximum allowed output encoding. More...
 
(void) - setMinOutputBitrate:
 Sets the minimum allowed output bitrate, in kbps. More...
 
(void) - setMinOutputEncoding:
 Sets the minimum allowed output encoding. More...
 
(void) - setMuted:
 Sets whether output is muted. More...
 
(void) - setOutput:
 Sets the output. More...
 
(void) - setOutputDeactivated:
 Sets whether output is deactivated. More...
 
(void) - setOutputMuted:
 Sets whether output is muted. More...
 
(void) - setOutputRtpStreamId:
 Sets the output RTP stream identifier. More...
 
(void) - setOutputs:
 Sets the outputs. More...
 
(void) - setOutputSynchronizable:
 Sets whether output is synchronizable. More...
 
(void) - setOutputSynchronizationSource:
 Sets the output synchronization source. More...
 
(void) - setPersistent:
 Sets a value indicating whether this instance is persistent. More...
 
(void) - setSynchronizationSource:
 Sets the output synchronization source. More...
 
(void) - setSystemDelay:
 Sets the system delay in ticks. More...
 
(void) - setTargetOutputBitrate:
 Sets the target output bitrate, in kbps. More...
 
(void) - setTargetOutputEncoding:
 Sets the target output encoding. More...
 
(FMLiveSwitchFuture< id > *) - start
 Starts this instance. More...
 
(FMLiveSwitchMediaSourceState) - state
 Gets the state. More...
 
(FMLiveSwitchFuture< id > *) - stop
 Stops this instance. More...
 
(long long) - synchronizationSource
 Gets the output synchronization source. 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...
 
(bool) - updateDisabled
 Updates the disabled property. 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) + audioUnitSourceWithConfig:
 
- Class Methods inherited from FMLiveSwitchAudioSource
(FMLiveSwitchAudioSource *) + audioSourceWithOutputFormat:
 Initializes a new instance of the FMLiveSwitchAudioSource class. More...
 
(FMLiveSwitchAudioSource *) + audioSourceWithOutputFormat:frameDuration:
 Initializes a new instance of the FMLiveSwitchAudioSource class. More...
 
(int) + calculateDurationFloatWithDataLength:clockRate:channelCount:
 Calculates the duration of an audio chunk given its data length (the number of bytes), clock rate, and channel count. More...
 
(int) + calculateDurationWithDataLength:clockRate:channelCount:
 Calculates the duration of an audio chunk given its data length (the number of bytes), clock rate, and channel count. More...
 
(int) + calculateDurationWithDataLength:config:
 Calculates the duration of an audio chunk given its data length (the number of bytes), clock rate, and channel count. More...
 
- Class Methods inherited from FMLiveSwitchMediaSource
(FMLiveSwitchMediaSource *) + mediaSourceWithOutputFormat:
 Initializes a new instance of the FMLiveSwitchMediaSource`8 class. More...
 

Protected Attributes

NSData * _buffer
 
AudioUnit _unit
 
AudioBufferList * _bufferList
 
AudioConverterRef _converter
 
AudioBufferList * _converterOutput
 
bool _useVoiceProcessingIO
 
bool _bypassVoiceProcessing
 
bool _voiceProcessingEnableAGC
 
bool _observeInterruptions
 
int _captureClockRate
 
int _clockRate
 
int _channelCount
 
int _renderChannelCount
 
volatile bool _capturing
 
volatile bool _ready
 
volatile bool _interrupted
 
NSObject_readyLock
 
volatile bool _wasReady
 
- Protected Attributes inherited from FMLiveSwitchMediaSource
 __pad0__: FMLiveSwitchMediaSourceBase<FMLiveSwitchIMediaOutput
 
 FMLiveSwitchIOutput
 
 FMLiveSwitchIMediaElement
 

Method Documentation

◆ audioUnitSourceWithConfig:

+ (instancetype) audioUnitSourceWithConfig: (FMLiveSwitchAudioConfig *)  config

◆ bypassVoiceProcessing

- (bool) bypassVoiceProcessing

◆ initWithConfig:

- (instancetype) initWithConfig: (FMLiveSwitchAudioConfig *)  config

◆ observeInterruptions

- (bool) observeInterruptions

◆ setBypassVoiceProcessing:

- (void) setBypassVoiceProcessing: (bool)  bypassVoiceProcessing

◆ setObserveInterruptions:

- (void) setObserveInterruptions: (bool)  observeInterruptions

◆ setUseVoiceProcessingIO:

- (void) setUseVoiceProcessingIO: (bool)  useVoiceProcessingIO

◆ setVoiceProcessingEnableAGC:

- (void) setVoiceProcessingEnableAGC: (bool)  voiceProcessingEnableAGC

◆ useVoiceProcessingIO

- (bool) useVoiceProcessingIO

◆ voiceProcessingEnableAGC

- (bool) voiceProcessingEnableAGC

Member Data Documentation

◆ _buffer

- (NSData*) _buffer
protected

◆ _bufferList

- (AudioBufferList*) _bufferList
protected

◆ _bypassVoiceProcessing

- (bool) _bypassVoiceProcessing
protected

◆ _captureClockRate

- (int) _captureClockRate
protected

◆ _capturing

- (volatile bool) _capturing
protected

◆ _channelCount

- (int) _channelCount
protected

◆ _clockRate

- (int) _clockRate
protected

◆ _converter

- (AudioConverterRef) _converter
protected

◆ _converterOutput

- (AudioBufferList*) _converterOutput
protected

◆ _interrupted

- (volatile bool) _interrupted
protected

◆ _observeInterruptions

- (bool) _observeInterruptions
protected

◆ _ready

- (volatile bool) _ready
protected

◆ _readyLock

- (NSObject*) _readyLock
protected

◆ _renderChannelCount

- (int) _renderChannelCount
protected

◆ _unit

- (AudioUnit) _unit
protected

◆ _useVoiceProcessingIO

- (bool) _useVoiceProcessingIO
protected

◆ _voiceProcessingEnableAGC

- (bool) _voiceProcessingEnableAGC
protected

◆ _wasReady

- (volatile bool) _wasReady
protected