Class MediaStream<TIOutput, TIOutputCollection, TIInput, TIInputCollection, TIElement, TSource, TSink, TPipe, TTrack, TBranch, TFrame, TBuffer, TBufferCollection, TFormat, TFormatCollection>
A media stream.
Inheritance
Implements
Inherited Members
Namespace: FM.LiveSwitch
Assembly: FM.LiveSwitch.dll
Syntax
public abstract class MediaStream<TIOutput, TIOutputCollection, TIInput, TIInputCollection, TIElement, TSource, TSink, TPipe, TTrack, TBranch, TFrame, TBuffer, TBufferCollection, TFormat, TFormatCollection> : MediaStreamBase, IMediaOutput<TIOutput, TIInput, TFrame, TBuffer, TBufferCollection, TFormat>, IOutput<TIOutput, TIInput, TFrame, TBuffer, TBufferCollection, TFormat>, IMediaInput<TIOutput, TIInput, TFrame, TBuffer, TBufferCollection, TFormat>, IInput<TIOutput, TIInput, TFrame, TBuffer, TBufferCollection, TFormat>, IMediaElement, IElement, IMediaStream, IStream, ISynchronizableStream where TIOutput : class, IMediaOutput<TIOutput, TIInput, TFrame, TBuffer, TBufferCollection, TFormat>, TIElement where TIOutputCollection : IMediaOutputCollection<TIOutput, TIInput, TFrame, TBuffer, TBufferCollection, TFormat, TIOutputCollection> where TIInput : class, IMediaInput<TIOutput, TIInput, TFrame, TBuffer, TBufferCollection, TFormat>, TIElement where TIInputCollection : IMediaInputCollection<TIOutput, TIInput, TFrame, TBuffer, TBufferCollection, TFormat, TIInputCollection> where TIElement : IMediaElement where TSource : MediaSource<TIOutput, TIInput, TIInputCollection, TSource, TFrame, TBuffer, TBufferCollection, TFormat>, TIOutput where TSink : MediaSink<TIOutput, TIOutputCollection, TIInput, TSink, TFrame, TBuffer, TBufferCollection, TFormat>, TIInput where TPipe : MediaPipe<TIOutput, TIOutputCollection, TIInput, TIInputCollection, TPipe, TFrame, TBuffer, TBufferCollection, TFormat>, TIOutput, TIInput where TTrack : MediaTrack<TIOutput, TIOutputCollection, TIInput, TIInputCollection, TIElement, TSource, TSink, TPipe, TTrack, TBranch, TFrame, TBuffer, TBufferCollection, TFormat> where TBranch : MediaBranch<TIOutput, TIOutputCollection, TIInput, TIInputCollection, TIElement, TSource, TSink, TPipe, TTrack, TBranch, TFrame, TBuffer, TBufferCollection, TFormat>, TIElement where TFrame : MediaFrame<TBuffer, TBufferCollection, TFormat, TFrame> where TBuffer : MediaBuffer<TFormat, TBuffer> where TBufferCollection : MediaBufferCollection<TBuffer, TBufferCollection, TFormat> where TFormat : MediaFormat<TFormat> where TFormatCollection : MediaFormatCollection<TFormat, TFormatCollection>
Type Parameters
| Name | Description |
|---|---|
| TIOutput | The type of the output interface. |
| TIOutputCollection | The type of the output interface collection. |
| TIInput | The type of the input interface. |
| TIInputCollection | The type of the input interface collection. |
| TIElement | The type of the element interface |
| TSource | The type of the source. |
| TSink | The type of the sink. |
| TPipe | The type of the pipe. |
| TTrack | The type of the track. |
| TBranch | The type of the branch. |
| TFrame | The type of the frame. |
| TBuffer | The type of the buffer. |
| TBufferCollection | The type of the buffer collection. |
| TFormat | The type of the format. |
| TFormatCollection | The type of the format collection. |
Constructors
MediaStream(StreamType, JitterConfig)
Initializes a new instance of the MediaStream<TIOutput, TIOutputCollection, TIInput, TIInputCollection, TIElement, TSource, TSink, TPipe, TTrack, TBranch, TFrame, TBuffer, TBufferCollection, TFormat, TFormatCollection> class.
Declaration
public MediaStream(StreamType type, JitterConfig jitterConfig)
Parameters
| Type | Name | Description |
|---|---|---|
| StreamType | type | The type. |
| JitterConfig | jitterConfig | The jitter configuration. |
Properties
AbsoluteSenderTimeDirection
Gets the current direction for the RTP Header Extension for Absolute Sender Time. See https://webrtc.org/experiments/rtp-hdrext/abs-send-time/ . If the remote capability has not yet been receieved, only local requirements are taken into consideration.
Declaration
public StreamDirection AbsoluteSenderTimeDirection { get; }
Property Value
| Type | Description |
|---|---|
| StreamDirection |
AbsoluteSenderTimeLocalDirection
Gets the current local direction for the RTP Header Extension for Absolute Sender Time. See https://webrtc.org/experiments/rtp-hdrext/abs-send-time/ . If the remote capability has not yet been received, only local requirements are taken into consideration.
Declaration
public StreamDirection AbsoluteSenderTimeLocalDirection { get; }
Property Value
| Type | Description |
|---|---|
| StreamDirection |
AbsoluteSenderTimeRemoteDirection
Gets the current remote direction for the RTP Header Extension for Absolute Sender Time. See https://webrtc.org/experiments/rtp-hdrext/abs-send-time/ . If the remote capability has not yet been receieved, only local requirements are taken into consideration.
Declaration
public StreamDirection AbsoluteSenderTimeRemoteDirection { get; }
Property Value
| Type | Description |
|---|---|
| StreamDirection |
BandwidthAdaptationPolicy
Gets or sets bandwidth adapation policy for this stream.
Declaration
public BandwidthAdaptationPolicy BandwidthAdaptationPolicy { get; set; }
Property Value
| Type | Description |
|---|---|
| BandwidthAdaptationPolicy |
CcmFirEnabled
Gets whether CCM FIRs are allowed.
Declaration
public bool CcmFirEnabled { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
CcmFirPolicy
Gets or sets the CCM FIR Policy.
Declaration
public CcmFirPolicy CcmFirPolicy { get; set; }
Property Value
| Type | Description |
|---|---|
| CcmFirPolicy |
CcmLrrEnabled
Gets whether CCM LRRs are allowed.
Declaration
public bool CcmLrrEnabled { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
CcmLrrPolicy
Gets or sets the CCM LRR Policy.
Declaration
public CcmLrrPolicy CcmLrrPolicy { get; set; }
Property Value
| Type | Description |
|---|---|
| CcmLrrPolicy |
CcmTmmbnEnabled
Gets whether CCM TMMBNs are allowed.
Declaration
public bool CcmTmmbnEnabled { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
CcmTmmbnPolicy
Gets or sets the CCM TMMBR Policy.
Declaration
public CcmTmmbnPolicy CcmTmmbnPolicy { get; set; }
Property Value
| Type | Description |
|---|---|
| CcmTmmbnPolicy |
CcmTmmbrEnabled
Gets whether CCM TMMBRs are allowed.
Declaration
public bool CcmTmmbrEnabled { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
CcmTmmbrPolicy
Gets or sets the CCM TMMBR Policy.
Declaration
public CcmTmmbrPolicy CcmTmmbrPolicy { get; set; }
Property Value
| Type | Description |
|---|---|
| CcmTmmbrPolicy |
Content
Gets the content descriptor.
Declaration
public string Content { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
ControlTransportInfo
Gets control transport information.
Declaration
public override TransportInfo ControlTransportInfo { get; }
Property Value
| Type | Description |
|---|---|
| TransportInfo |
Overrides
DefaultLocalSynchronizationSource
Gets default local synchronization source (SSRC) associated with a local sender. If the local SDP offer or answer has not yet been set on the Connection, this will return -1. Please wait till the local description has been set on the Connection before accessing this value.
Declaration
public long DefaultLocalSynchronizationSource { get; }
Property Value
| Type | Description |
|---|---|
| System.Int64 |
DisableAutomaticReports
Gets or sets a value indicating whether to disable automatic RTCP sender/receiver reports.
Declaration
public bool DisableAutomaticReports { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
DisabledInputFormats
Gets the disabled input formats.
Declaration
public TFormat[] DisabledInputFormats { get; }
Property Value
| Type | Description |
|---|---|
| TFormat[] |
InjectionAllowed
Gets whether at least one frame has been successfully processed.
Declaration
protected bool InjectionAllowed { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
Input
Gets the input.
Declaration
public TIOutput Input { get; }
Property Value
| Type | Description |
|---|---|
| TIOutput |
InputDeactivated
Gets whether input is deactivated. Input is deactivated if the stream direction is unset, inactive, or recvonly.
Declaration
public bool InputDeactivated { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
InputFormat
Gets the current input format.
Declaration
public TFormat InputFormat { get; }
Property Value
| Type | Description |
|---|---|
| TFormat |
InputFormats
Gets the available input formats.
Declaration
public TFormat[] InputFormats { get; }
Property Value
| Type | Description |
|---|---|
| TFormat[] |
InputMaxOutputBitrate
Gets the sum of the bitrates from InputMaxOutputEncodings.
Declaration
public int InputMaxOutputBitrate { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
InputMaxOutputEncodings
Gets the inputs' maximum allowed output encodings.
Declaration
public EncodingInfo[] InputMaxOutputEncodings { get; }
Property Value
| Type | Description |
|---|---|
| EncodingInfo[] |
InputMinOutputBitrate
Gets the sum of the bitrates from InputMinOutputEncodings.
Declaration
public int InputMinOutputBitrate { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
InputMinOutputEncodings
Gets the inputs' minimum allowed output encodings.
Declaration
public EncodingInfo[] InputMinOutputEncodings { get; }
Property Value
| Type | Description |
|---|---|
| EncodingInfo[] |
InputMuted
Gets or sets whether the input track is muted.
Declaration
public override bool InputMuted { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
Overrides
InputRtpStreamId
Gets or sets null to satisfy interface requirements.
Declaration
public string InputRtpStreamId { get; set; }
Property Value
| Type | Description |
|---|---|
| System.String |
Inputs
Gets the inputs.
Declaration
public TIOutput[] Inputs { get; }
Property Value
| Type | Description |
|---|---|
| TIOutput[] |
InputSynchronizationDisabled
Gets or sets whether input synchronization is disabled.
Declaration
public bool InputSynchronizationDisabled { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
InputSynchronizationSource
Gets or sets -1 to satisfy interface requirements.
Declaration
public long InputSynchronizationSource { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Int64 |
InputSynchronizationSources
Gets the input synchronization sources.
Declaration
public long[] InputSynchronizationSources { get; }
Property Value
| Type | Description |
|---|---|
| System.Int64[] |
InputTargetOutputBitrate
Gets the sum of the bitrates from InputTargetOutputEncodings.
Declaration
public int InputTargetOutputBitrate { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
InputTargetOutputEncodings
Gets the inputs' target output encodings.
Declaration
public EncodingInfo[] InputTargetOutputEncodings { get; }
Property Value
| Type | Description |
|---|---|
| EncodingInfo[] |
JitterConfig
Gets the jitter configuration.
Declaration
public JitterConfig JitterConfig { get; }
Property Value
| Type | Description |
|---|---|
| JitterConfig |
LegacyReceiver
Gets or sets whether to use legacy receiver processing. Legacy receiver processing uses a fixed-size jitter buffer and processes forward error correction pre-jitter.
Declaration
public bool LegacyReceiver { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
LocalDescriptionMediaId
Gets or sets the local description media identifier. If not set, defaults to the LocalMedia identifier, if one exists.
Declaration
public string LocalDescriptionMediaId { get; set; }
Property Value
| Type | Description |
|---|---|
| System.String |
LocalDescriptionTrackId
Gets or sets the local description track identifier. If not set, defaults to the LocalTrack identifier, if one exists.
Declaration
public string LocalDescriptionTrackId { get; set; }
Property Value
| Type | Description |
|---|---|
| System.String |
LocalMedia
Gets or sets the local media, if one was specified.
Declaration
public LocalMedia LocalMedia { get; protected set; }
Property Value
| Type | Description |
|---|---|
| LocalMedia |
LocalTrack
Gets or sets the local track from this media. Returns null if there are no tracks.
Declaration
public TTrack LocalTrack { get; protected set; }
Property Value
| Type | Description |
|---|---|
| TTrack |
MaxInputBitrate
Gets the maximum allowed input bitrate, in kbps. A value of -1 indicates unset (no maximum).
Declaration
public virtual int MaxInputBitrate { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
MaxInputEncoding
Gets the max input encoding.
Declaration
public virtual EncodingInfo MaxInputEncoding { get; }
Property Value
| Type | Description |
|---|---|
| EncodingInfo |
MaxOutputBitrate
Gets the maximum allowed output bitrate, in kbps. A value of -1 indicates unset (no maximum).
Declaration
public virtual int MaxOutputBitrate { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
MaxOutputEncoding
Gets the max output encoding.
Declaration
public virtual EncodingInfo MaxOutputEncoding { get; }
Property Value
| Type | Description |
|---|---|
| EncodingInfo |
MaxReceiveBitrate
Gets or sets the maximum desired receive bitrate, in kbps.
Declaration
public override int MaxReceiveBitrate { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
Overrides
MinInputBitrate
Gets the minimum allowed input bitrate, in kbps. A value of -1 indicates unset (no minimum).
Declaration
public virtual int MinInputBitrate { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
MinInputEncoding
Gets the min input encoding.
Declaration
public virtual EncodingInfo MinInputEncoding { get; }
Property Value
| Type | Description |
|---|---|
| EncodingInfo |
MinOutputBitrate
Gets the minimum allowed output bitrate, in kbps. A value of -1 indicates unset (no minimum).
Declaration
public virtual int MinOutputBitrate { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
MinOutputEncoding
Gets the min output encoding.
Declaration
public virtual EncodingInfo MinOutputEncoding { get; }
Property Value
| Type | Description |
|---|---|
| EncodingInfo |
Multiplexed
Gets a value indicating whether Rtp and Rtcp components for this stream are multiplexed on the same port.
Declaration
public bool Multiplexed { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
MultiplexingSupported
Gets a value indicating whether so far negotiation with the peer indicates that Rtp and Rtcp component multiplexing on the same port is supported.
Declaration
public bool MultiplexingSupported { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
NackConfig
Gets Nack config.
Declaration
public NackConfig NackConfig { get; }
Property Value
| Type | Description |
|---|---|
| NackConfig |
NackEnabled
Gets whether NACKs are allowed.
Declaration
public bool NackEnabled { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
NackPliEnabled
Gets whether NACK PLIs are allowed.
Declaration
public bool NackPliEnabled { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
NackPliPolicy
Gets or sets the NACK PLI Policy.
Declaration
public NackPliPolicy NackPliPolicy { get; set; }
Property Value
| Type | Description |
|---|---|
| NackPliPolicy |
NackPolicy
Gets or sets the NACK Policy.
Declaration
public NackPolicy NackPolicy { get; set; }
Property Value
| Type | Description |
|---|---|
| NackPolicy |
Output
Gets the output.
Declaration
public TIInput Output { get; }
Property Value
| Type | Description |
|---|---|
| TIInput |
OutputDeactivated
Gets whether output is deactivated. Output is deactivated if the stream direction is unset, inactive, or sendonly.
Declaration
public bool OutputDeactivated { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
OutputFormat
Gets or sets the output format.
Declaration
public TFormat OutputFormat { get; protected set; }
Property Value
| Type | Description |
|---|---|
| TFormat |
OutputMaxInputBitrate
Gets the sum of the bitrates from OutputMaxInputEncodings.
Declaration
public int OutputMaxInputBitrate { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
OutputMaxInputEncodings
Gets the outputs' maximum allowed input encodings.
Declaration
public EncodingInfo[] OutputMaxInputEncodings { get; }
Property Value
| Type | Description |
|---|---|
| EncodingInfo[] |
OutputMinInputBitrate
Gets the sum of the bitrates from OutputMinInputEncodings.
Declaration
public int OutputMinInputBitrate { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
OutputMinInputEncodings
Gets the outputs' minimum allowed input encodings.
Declaration
public EncodingInfo[] OutputMinInputEncodings { get; }
Property Value
| Type | Description |
|---|---|
| EncodingInfo[] |
OutputMuted
Gets or sets whether the output track is muted.
Declaration
public override bool OutputMuted { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
Overrides
OutputRtpStreamId
Gets null to satisfy interface requirements.
Declaration
public string OutputRtpStreamId { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
Outputs
Gets the outputs.
Declaration
public TIInput[] Outputs { get; }
Property Value
| Type | Description |
|---|---|
| TIInput[] |
OutputSynchronizable
Gets whether output is synchronizable.
Declaration
public bool OutputSynchronizable { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
OutputSynchronizationDisabled
Gets or sets whether output synchronization is disabled.
Declaration
public bool OutputSynchronizationDisabled { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
OutputSynchronizationSource
Gets -1 to satisfy interface requirements.
Declaration
public long OutputSynchronizationSource { get; }
Property Value
| Type | Description |
|---|---|
| System.Int64 |
OutputSynchronizationSources
Gets the output synchronization sources.
Declaration
public long[] OutputSynchronizationSources { get; }
Property Value
| Type | Description |
|---|---|
| System.Int64[] |
OverConstrained
Gets whether this stream is over-constrained. A stream is over-constrained if either it's input or output is over-constrained.
Declaration
public bool OverConstrained { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
OverConstrainedBitrate
Gets whether the stream bitrate is over-constrained. A stream bitrate is over-constrained if the input bitrate or output bitrate is over-constrained.
Declaration
public bool OverConstrainedBitrate { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
OverConstrainedInput
Gets whether the input is over-contrained. An input is over-constrained if it's input bitrate is over-contrained.
Declaration
public virtual bool OverConstrainedInput { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
OverConstrainedInputBitrate
Gets whether the minimum allowed input bitrate exceeds the maximum allowed input bitrate.
Declaration
public bool OverConstrainedInputBitrate { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
OverConstrainedOutput
Gets whether the output is over-constrained. An output is over-constrained if it's output bitrate is over-contrained.
Declaration
public virtual bool OverConstrainedOutput { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
OverConstrainedOutputBitrate
Gets whether the minimum allowed output bitrate exceeds the maximum allowed output bitrate.
Declaration
public bool OverConstrainedOutputBitrate { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
Paused
Gets a value indicating whether this stream is paused.
Declaration
public bool Paused { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
Persistent
Gets a value indicating whether this instance is persistent.
Always returns false.
Declaration
public bool Persistent { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
PipelineJson
Gets the pipeline JSON with this as the central point.
Declaration
public string PipelineJson { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
PipelineJsonFromInput
Gets the pipeline JSON from an input.
Declaration
public string PipelineJsonFromInput { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
PipelineJsonFromOutput
Gets the pipeline JSON from an output.
Declaration
public string PipelineJsonFromOutput { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
ProcessFramePolicy
Gets or sets the ProcessFramePolicy for this media input.
Declaration
public ProcessFramePolicy ProcessFramePolicy { get; set; }
Property Value
| Type | Description |
|---|---|
| ProcessFramePolicy |
RedFecConfig
Gets Fec Config.
Declaration
public RedFecConfig RedFecConfig { get; }
Property Value
| Type | Description |
|---|---|
| RedFecConfig |
RedFecEnabled
Gets True if Red Fec is negotiated.
Declaration
public bool RedFecEnabled { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
RedFecPolicy
Gets or sets the Fec Policy.
Declaration
public RedFecPolicy RedFecPolicy { get; set; }
Property Value
| Type | Description |
|---|---|
| RedFecPolicy |
RembEnabled
Gets True if goog-remb is negotiated.
Declaration
public bool RembEnabled { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
RembPolicy
Gets or sets the goog-remb policy.
Declaration
public RembPolicy RembPolicy { get; }
Property Value
| Type | Description |
|---|---|
| RembPolicy |
RemoteDescriptionMediaId
Gets the remote description media identifier.
Declaration
public string RemoteDescriptionMediaId { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
RemoteDescriptionTrackId
Gets the remote description track identifier.
Declaration
public string RemoteDescriptionTrackId { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
RemoteEncoding
Gets or sets the remote encoding.
Declaration
public override EncodingInfo RemoteEncoding { get; set; }
Property Value
| Type | Description |
|---|---|
| EncodingInfo |
Overrides
RemoteMedia
Gets or sets the remote media, if one was specified.
Declaration
public RemoteMedia RemoteMedia { get; protected set; }
Property Value
| Type | Description |
|---|---|
| RemoteMedia |
RemoteTrack
Gets or sets the remote track, if one was specified.
Declaration
public TTrack RemoteTrack { get; protected set; }
Property Value
| Type | Description |
|---|---|
| TTrack |
RtpTransportWideCCDirection
Gets the current direction for the RTP Header Extension for Transport-wide CC. See https://datatracker.ietf.org/doc/html/draft-holmer-rmcat-transport-wide-cc-extensions-01 . If the remote capability has not yet been received, only local requirements are taken into consideration.
Declaration
public StreamDirection RtpTransportWideCCDirection { get; }
Property Value
| Type | Description |
|---|---|
| StreamDirection |
RtpTransportWideCCLocalDirection
Gets the current local direction for the RTP Header Extension for Transport-wide CC. See https://datatracker.ietf.org/doc/html/draft-holmer-rmcat-transport-wide-cc-extensions-01 . If the remote capability has not yet been received, only local requirements are taken into consideration.
Declaration
public StreamDirection RtpTransportWideCCLocalDirection { get; }
Property Value
| Type | Description |
|---|---|
| StreamDirection |
RtpTransportWideCCRemoteDirection
Gets the remote local direction for the RTP Header Extension for Transport-wide CC. See https://datatracker.ietf.org/doc/html/draft-holmer-rmcat-transport-wide-cc-extensions-01 .
Declaration
public StreamDirection RtpTransportWideCCRemoteDirection { get; }
Property Value
| Type | Description |
|---|---|
| StreamDirection |
SimulcastMode
Gets or sets the simulcast mode.
Declaration
public override SimulcastMode SimulcastMode { get; set; }
Property Value
| Type | Description |
|---|---|
| SimulcastMode |
Overrides
SynchronizeContext
Gets or sets the synchronize context.
Declaration
public SynchronizeContext SynchronizeContext { get; set; }
Property Value
| Type | Description |
|---|---|
| SynchronizeContext |
Synchronizers
Gets all synchronizers in the stream output tracks.
Declaration
public ISynchronizer[] Synchronizers { get; }
Property Value
| Type | Description |
|---|---|
| ISynchronizer[] |
SystemDelay
Gets or sets the system delay in ticks.
Declaration
public long SystemDelay { get; protected set; }
Property Value
| Type | Description |
|---|---|
| System.Int64 |
TargetOutputBitrate
Gets the target output bitrate, in kbps. A value of -1 indicates unset (no target).
Declaration
public virtual int TargetOutputBitrate { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
TargetOutputEncoding
Gets the target output encoding.
Declaration
public virtual EncodingInfo TargetOutputEncoding { get; }
Property Value
| Type | Description |
|---|---|
| EncodingInfo |
TransportInfo
Gets transport information.
Declaration
public override TransportInfo TransportInfo { get; }
Property Value
| Type | Description |
|---|---|
| TransportInfo |
Overrides
Methods
AddInput(TIOutput)
Adds an input.
Declaration
public void AddInput(TIOutput input)
Parameters
| Type | Name | Description |
|---|---|---|
| TIOutput | input | The input. |
AddInputs(TIOutput[])
Adds some inputs.
Declaration
public void AddInputs(TIOutput[] inputs)
Parameters
| Type | Name | Description |
|---|---|---|
| TIOutput[] | inputs | The inputs. |
AddOutput(TIInput)
Adds an output.
Declaration
public void AddOutput(TIInput output)
Parameters
| Type | Name | Description |
|---|---|---|
| TIInput | output | The output. |
AddOutputs(TIInput[])
Adds some outputs.
Declaration
public void AddOutputs(TIInput[] outputs)
Parameters
| Type | Name | Description |
|---|---|---|
| TIInput[] | outputs | The outputs. |
ChangeInputFormat(TFormat)
Changes the current input format (switches codecs).
Declaration
public Future<object> ChangeInputFormat(TFormat inputFormat)
Parameters
| Type | Name | Description |
|---|---|---|
| TFormat | inputFormat | The input format. |
Returns
| Type | Description |
|---|---|
| Future<System.Object> |
CreateFormat(MapAttribute, FormatParametersAttribute)
Creates a format.
Declaration
protected abstract TFormat CreateFormat(MapAttribute attribute, FormatParametersAttribute formatParametersAttribute)
Parameters
| Type | Name | Description |
|---|---|---|
| MapAttribute | attribute | The attribute. |
| FormatParametersAttribute | formatParametersAttribute | The format parameters attribute. |
Returns
| Type | Description |
|---|---|
| TFormat |
CreateFormat(String, Int32, String, Int32)
Creates a format.
Declaration
protected abstract TFormat CreateFormat(string name, int clockRate, string parameters, int payloadType)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | name | The format name. |
| System.Int32 | clockRate | The clock rate. |
| System.String | parameters | The parameters. |
| System.Int32 | payloadType | The payload type. |
Returns
| Type | Description |
|---|---|
| TFormat |
CreateInputCollection(TIOutput)
Creates an input collection.
Declaration
protected abstract TIInputCollection CreateInputCollection(TIOutput output)
Parameters
| Type | Name | Description |
|---|---|---|
| TIOutput | output | The output. |
Returns
| Type | Description |
|---|---|
| TIInputCollection |
CreateMediaFormatCollection()
Creates a media format collection.
Declaration
protected abstract TFormatCollection CreateMediaFormatCollection()
Returns
| Type | Description |
|---|---|
| TFormatCollection |
CreateOutputCollection(TIInput)
Creates an output collection.
Declaration
protected abstract TIOutputCollection CreateOutputCollection(TIInput input)
Parameters
| Type | Name | Description |
|---|---|---|
| TIInput | input | The input. |
Returns
| Type | Description |
|---|---|
| TIOutputCollection |
CreateRedFormat()
Creates a RED format.
Declaration
protected abstract TFormat CreateRedFormat()
Returns
| Type | Description |
|---|---|
| TFormat |
CreateUlpFecFormat()
Creates a ulpfec format.
Declaration
protected abstract TFormat CreateUlpFecFormat()
Returns
| Type | Description |
|---|---|
| TFormat |
Destroy()
Destroys this instance.
Declaration
public virtual bool Destroy()
Returns
| Type | Description |
|---|---|
| System.Boolean |
DisableInputFormat(TFormat)
Disables an input format. This will trigger a codec switch if disabling the current input format. This may disable the stream
Declaration
public Future<object> DisableInputFormat(TFormat inputFormat)
Parameters
| Type | Name | Description |
|---|---|---|
| TFormat | inputFormat | The input format. |
Returns
| Type | Description |
|---|---|
| Future<System.Object> |
EnableInputFormat(TFormat)
Enables an input format. This will NOT trigger a codec switch.
Declaration
public Future<object> EnableInputFormat(TFormat inputFormat)
Parameters
| Type | Name | Description |
|---|---|---|
| TFormat | inputFormat | The input format. |
Returns
| Type | Description |
|---|---|
| Future<System.Object> |
FormatArrayFromList(List<TFormat>)
Creates a format array from a format list.
Declaration
protected abstract TFormat[] FormatArrayFromList(List<TFormat> formatList)
Parameters
| Type | Name | Description |
|---|---|---|
| List<TFormat> | formatList | The format list. |
Returns
| Type | Description |
|---|---|
| TFormat[] |
GetCcmSequenceNumber()
Gets the FIR sequence number.
Declaration
public int GetCcmSequenceNumber()
Returns
| Type | Description |
|---|---|
| System.Int32 |
GetInputSourceMuted(TIOutput)
Gets whether an input source is muted.
Declaration
protected abstract bool GetInputSourceMuted(TIOutput input)
Parameters
| Type | Name | Description |
|---|---|---|
| TIOutput | input | The input. |
Returns
| Type | Description |
|---|---|
| System.Boolean |
GetInputSourceMuted(TIOutput[])
Gets whether an input source is muted.
Declaration
protected bool GetInputSourceMuted(TIOutput[] inputs)
Parameters
| Type | Name | Description |
|---|---|---|
| TIOutput[] | inputs | The inputs. |
Returns
| Type | Description |
|---|---|
| System.Boolean |
GetLocalRtpStreamId(Int64)
Gets the local RTP stream identifier for a given local synchronization source.
Declaration
protected string GetLocalRtpStreamId(long localSynchronizationSource)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int64 | localSynchronizationSource | The local synchronization source. |
Returns
| Type | Description |
|---|---|
| System.String |
GetLocalSynchronizationSource(String)
Gets the local synchronization source for a given local RTP stream identifier.
Declaration
protected long GetLocalSynchronizationSource(string rtpStreamId)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | rtpStreamId | The RTP stream identifier. |
Returns
| Type | Description |
|---|---|
| System.Int64 |
GetOutputSinkMuted(TIInput)
Gets whether an output source is muted.
Declaration
protected abstract bool GetOutputSinkMuted(TIInput output)
Parameters
| Type | Name | Description |
|---|---|---|
| TIInput | output | The output. |
Returns
| Type | Description |
|---|---|
| System.Boolean |
GetOutputSinkMuted(TIInput[])
Gets whether an output sink is muted.
Declaration
protected bool GetOutputSinkMuted(TIInput[] outputs)
Parameters
| Type | Name | Description |
|---|---|---|
| TIInput[] | outputs | The outputs. |
Returns
| Type | Description |
|---|---|
| System.Boolean |
GetPipelineSystemDelay(TFormat)
Gets the total pipeline system delay in ticks for a given output format.
Declaration
public long GetPipelineSystemDelay(TFormat outputFormat)
Parameters
| Type | Name | Description |
|---|---|---|
| TFormat | outputFormat | The output format. |
Returns
| Type | Description |
|---|---|
| System.Int64 | The total pipeline system delay in ticks. |
GetRemoteRtpStreamId(Int64)
Gets the remote RTP stream identifier for a given remote synchronization source.
Declaration
protected string GetRemoteRtpStreamId(long remoteSynchronizationSource)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int64 | remoteSynchronizationSource | The remote synchronization source. |
Returns
| Type | Description |
|---|---|
| System.String |
GetRemoteSynchronizationSource(String)
Gets the remote synchronization source for a given remote RTP stream identifier.
Declaration
protected long GetRemoteSynchronizationSource(string rtpStreamId)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | rtpStreamId | The RTP stream identifier. |
Returns
| Type | Description |
|---|---|
| System.Int64 |
IncrementCcmSequenceNumber()
Increments the FIR sequence number.
Declaration
public void IncrementCcmSequenceNumber()
InputArrayFromList(List<TIInput>)
Creates an input array from an input list.
Declaration
protected abstract TIInput[] InputArrayFromList(List<TIInput> inputList)
Parameters
| Type | Name | Description |
|---|---|---|
| List<TIInput> | inputList | The input list. |
Returns
| Type | Description |
|---|---|
| TIInput[] |
OutputArrayFromList(List<TIOutput>)
Creates an output array from an output list.
Declaration
protected abstract TIOutput[] OutputArrayFromList(List<TIOutput> outputList)
Parameters
| Type | Name | Description |
|---|---|---|
| List<TIOutput> | outputList | The output list. |
Returns
| Type | Description |
|---|---|
| TIOutput[] |
PopulateInfo(MediaStreamInfo)
Populates the media stream info.
Declaration
protected override void PopulateInfo(MediaStreamInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| MediaStreamInfo | info |
Overrides
ProcessBundledStateChanged(Boolean)
Processes bundled state change of this stream.
Declaration
protected override void ProcessBundledStateChanged(bool bundled)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Boolean | bundled |
Overrides
ProcessCachedSettings()
Processes cached settings.
Declaration
protected override void ProcessCachedSettings()
Overrides
ProcessControlFrame(MediaControlFrame)
Processes a control frame.
Declaration
public void ProcessControlFrame(MediaControlFrame controlFrame)
Parameters
| Type | Name | Description |
|---|---|---|
| MediaControlFrame | controlFrame | The control frame. |
ProcessControlFrameResponse(MediaControlFrame)
Processes a control frame response.
Declaration
public void ProcessControlFrameResponse(MediaControlFrame controlFrameResponse)
Parameters
| Type | Name | Description |
|---|---|---|
| MediaControlFrame | controlFrameResponse | The control frame response. |
ProcessControlFrameResponses(MediaControlFrame[])
Processes control frame responses.
Declaration
public void ProcessControlFrameResponses(MediaControlFrame[] controlFrameResponses)
Parameters
| Type | Name | Description |
|---|---|---|
| MediaControlFrame[] | controlFrameResponses | The control frame responses. |
ProcessControlFrames(MediaControlFrame[])
Processes control frames.
Declaration
public void ProcessControlFrames(MediaControlFrame[] controlFrames)
Parameters
| Type | Name | Description |
|---|---|---|
| MediaControlFrame[] | controlFrames | The control frames. |
ProcessFrame(TFrame)
Processes a frame.
Declaration
public virtual bool ProcessFrame(TFrame frame)
Parameters
| Type | Name | Description |
|---|---|---|
| TFrame | frame | The frame. |
Returns
| Type | Description |
|---|---|
| System.Boolean |
ProcessSdpContentAttribute(ContentAttribute, Boolean)
Processes an SDP content attribute.
Declaration
protected abstract void ProcessSdpContentAttribute(ContentAttribute sdpContentAttribute, bool isLocalDescription)
Parameters
| Type | Name | Description |
|---|---|---|
| ContentAttribute | sdpContentAttribute | The SDP content attribute. |
| System.Boolean | isLocalDescription | Whether the SDP content attribute comes from a local description. |
ProcessSdpMediaDescriptionFromInput(MediaDescription, Boolean, Boolean)
Processes a local SDP media description from an input.
Declaration
public Error ProcessSdpMediaDescriptionFromInput(MediaDescription mediaDescription, bool isOffer, bool isLocalDescription)
Parameters
| Type | Name | Description |
|---|---|---|
| MediaDescription | mediaDescription | The media description. |
| System.Boolean | isOffer | if set to |
| System.Boolean | isLocalDescription | if set to |
Returns
| Type | Description |
|---|---|
| Error |
ProcessSdpMediaDescriptionFromOutput(MediaDescription, Boolean, Boolean)
Processes a local SDP media description from an output.
Declaration
public Error ProcessSdpMediaDescriptionFromOutput(MediaDescription mediaDescription, bool isOffer, bool isLocalDescription)
Parameters
| Type | Name | Description |
|---|---|---|
| MediaDescription | mediaDescription | The media description. |
| System.Boolean | isOffer | if set to |
| System.Boolean | isLocalDescription | if set to |
Returns
| Type | Description |
|---|---|
| Error |
ProcessSinkStatsFromInput(MediaSinkStats)
Processes sink stats from an input.
Declaration
public void ProcessSinkStatsFromInput(MediaSinkStats sinkStats)
Parameters
| Type | Name | Description |
|---|---|---|
| MediaSinkStats | sinkStats | The sink stats. |
ProcessSourceStatsFromOutput(MediaSourceStats)
Processes source stats from an output.
Declaration
public void ProcessSourceStatsFromOutput(MediaSourceStats sourceStats)
Parameters
| Type | Name | Description |
|---|---|---|
| MediaSourceStats | sourceStats | The source stats. |
ProcessStateChange()
Processes a state change.
Declaration
protected override void ProcessStateChange()
Overrides
ProcessTrackStatsFromInput(MediaTrackStats)
Processes stats from an input.
Declaration
public void ProcessTrackStatsFromInput(MediaTrackStats trackStats)
Parameters
| Type | Name | Description |
|---|---|---|
| MediaTrackStats | trackStats | The track stats. |
ProcessTrackStatsFromOutput(MediaTrackStats)
Processes stats from an output.
Declaration
public void ProcessTrackStatsFromOutput(MediaTrackStats trackStats)
Parameters
| Type | Name | Description |
|---|---|---|
| MediaTrackStats | trackStats | The track stats. |
ProcessUpdateToMediaStreamIdentification(String)
Process update to the MediaDescription Identificiation.
Declaration
protected override void ProcessUpdateToMediaStreamIdentification(string oldValue)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | oldValue |
Overrides
RaiseBitrateNotification(BitrateNotification)
Raises a bitrate notification to the remote track.
Declaration
public bool RaiseBitrateNotification(BitrateNotification bitrateNotification)
Parameters
| Type | Name | Description |
|---|---|---|
| BitrateNotification | bitrateNotification | The bitrate notification. |
Returns
| Type | Description |
|---|---|
| System.Boolean |
RaiseBitrateRequest(BitrateRequest)
Raises a bitrate request to the local track.
Declaration
public override bool RaiseBitrateRequest(BitrateRequest bitrateRequest)
Parameters
| Type | Name | Description |
|---|---|---|
| BitrateRequest | bitrateRequest | The bitrate request. |
Returns
| Type | Description |
|---|---|
| System.Boolean |
Overrides
RaiseControlFrame(MediaControlFrame)
Raises a control frame.
Declaration
protected void RaiseControlFrame(MediaControlFrame controlFrame)
Parameters
| Type | Name | Description |
|---|---|---|
| MediaControlFrame | controlFrame | The control frame. |
RaiseControlFrameResponse(MediaControlFrame)
Raises a control frame response.
Declaration
protected void RaiseControlFrameResponse(MediaControlFrame controlFrameResponse)
Parameters
| Type | Name | Description |
|---|---|---|
| MediaControlFrame | controlFrameResponse | The control frame response. |
RaiseControlFrameResponses(MediaControlFrame[])
Raises control frame responses.
Declaration
protected void RaiseControlFrameResponses(MediaControlFrame[] controlFrameResponses)
Parameters
| Type | Name | Description |
|---|---|---|
| MediaControlFrame[] | controlFrameResponses | The control frame responses. |
RaiseControlFrames(MediaControlFrame[])
Raises control frames.
Declaration
protected void RaiseControlFrames(MediaControlFrame[] controlFrames)
Parameters
| Type | Name | Description |
|---|---|---|
| MediaControlFrame[] | controlFrames | The control frames. |
RaiseFrame(TFrame)
Raises a frame.
Declaration
protected virtual void RaiseFrame(TFrame frame)
Parameters
| Type | Name | Description |
|---|---|---|
| TFrame | frame | The frame. |
RemoveInput(TIOutput)
Removes an input.
Declaration
public bool RemoveInput(TIOutput input)
Parameters
| Type | Name | Description |
|---|---|---|
| TIOutput | input | The input. |
Returns
| Type | Description |
|---|---|
| System.Boolean |
RemoveInputs()
Removes all inputs.
Declaration
public void RemoveInputs()
RemoveInputs(TIOutput[])
Removes some inputs.
Declaration
public void RemoveInputs(TIOutput[] inputs)
Parameters
| Type | Name | Description |
|---|---|---|
| TIOutput[] | inputs | The inputs. |
RemoveOutput(TIInput)
Removes an output.
Declaration
public bool RemoveOutput(TIInput output)
Parameters
| Type | Name | Description |
|---|---|---|
| TIInput | output | The output. |
Returns
| Type | Description |
|---|---|
| System.Boolean |
RemoveOutputs()
Removes all outputs.
Declaration
public void RemoveOutputs()
RemoveOutputs(TIInput[])
Removes some outputs.
Declaration
public void RemoveOutputs(TIInput[] outputs)
Parameters
| Type | Name | Description |
|---|---|---|
| TIInput[] | outputs | The outputs. |
SetInputSourceMuted(TIOutput, Boolean)
Sets whether an input source is muted.
Declaration
protected abstract void SetInputSourceMuted(TIOutput input, bool value)
Parameters
| Type | Name | Description |
|---|---|---|
| TIOutput | input | The input. |
| System.Boolean | value | The value. |
SetInputSourceMuted(TIOutput[], Boolean)
Sets whether an input source is muted.
Declaration
protected void SetInputSourceMuted(TIOutput[] inputs, bool value)
Parameters
| Type | Name | Description |
|---|---|---|
| TIOutput[] | inputs | The inputs. |
| System.Boolean | value | The value. |
SetOutputSinkMuted(TIInput, Boolean)
Sets whether an output source is muted.
Declaration
protected abstract void SetOutputSinkMuted(TIInput output, bool value)
Parameters
| Type | Name | Description |
|---|---|---|
| TIInput | output | The output. |
| System.Boolean | value | The value. |
SetOutputSinkMuted(TIInput[], Boolean)
Sets whether an output sink is muted.
Declaration
protected void SetOutputSinkMuted(TIInput[] outputs, bool value)
Parameters
| Type | Name | Description |
|---|---|---|
| TIInput[] | outputs | The outputs. |
| System.Boolean | value | The value. |
Synchronize(Boolean)
Initializes synchronization.
Declaration
public void Synchronize(bool master)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Boolean | master | Whether this is a master stream. |
Events
OnDiscardBitrateNotification
Raised when a bitrate notification is discarded due to policy restrictions or lack of support by the remote endpoint.
Declaration
public event Action1<BitrateNotification> OnDiscardBitrateNotification
Event Type
| Type | Description |
|---|---|
| Action1<BitrateNotification> |
OnDiscardBitrateRequest
Raised when a bitrate notification message is discarded by the internal in-band messaging mechanism because the peer does not support bitrate notifications.
In this case, the bitrate notification needs to be transported out of band. LiveSwitch handles this internally by sending the message over Data Streams. No further action is required by application developers.
Use this event for for diagnostics and debugging.
Declaration
public event Action1<BitrateRequest> OnDiscardBitrateRequest
Event Type
| Type | Description |
|---|---|
| Action1<BitrateRequest> |
OnDiscardOutboundControlFrame
Raised when an outbound control frame is discarded due to policy restrictions or lack of support by the remote endpoint.
Declaration
public event Action1<MediaControlFrame> OnDiscardOutboundControlFrame
Event Type
| Type | Description |
|---|---|
| Action1<MediaControlFrame> |
OnMasterSynchronizeContextReady
Raised by master streams when the synchronize context is ready.
Declaration
public event Action1<SynchronizeContext> OnMasterSynchronizeContextReady
Event Type
| Type | Description |
|---|---|
| Action1<SynchronizeContext> |
OnPausedChange
Raised when the Paused property changes state.
Declaration
public event Action0 OnPausedChange
Event Type
| Type | Description |
|---|---|
| Action0 |
OnProcessControlFrameResponses
Raised when control frame responses are processed.
Declaration
public event Action1<MediaControlFrame[]> OnProcessControlFrameResponses
Event Type
| Type | Description |
|---|---|
| Action1<MediaControlFrame[]> |
OnProcessControlFrames
Raised when control frames are processed.
Declaration
public event Action1<MediaControlFrame[]> OnProcessControlFrames
Event Type
| Type | Description |
|---|---|
| Action1<MediaControlFrame[]> |
OnProcessedFrame
Raised when a frame has been processed.
Declaration
public event Action1<TFrame> OnProcessedFrame
Event Type
| Type | Description |
|---|---|
| Action1<TFrame> |
OnProcessFrame
Raised when a frame is being processed.
Declaration
public event Action1<TFrame> OnProcessFrame
Event Type
| Type | Description |
|---|---|
| Action1<TFrame> |
OnRaiseControlFrameResponses
Raised when control frame responses are raised.
Declaration
public event Action1<MediaControlFrame[]> OnRaiseControlFrameResponses
Event Type
| Type | Description |
|---|---|
| Action1<MediaControlFrame[]> |
OnRaiseControlFrames
Raised when control frames are raised.
Declaration
public event Action1<MediaControlFrame[]> OnRaiseControlFrames
Event Type
| Type | Description |
|---|---|
| Action1<MediaControlFrame[]> |
OnRaisedFrame
Raised when a frame has been raised.
Declaration
public event Action1<TFrame> OnRaisedFrame
Event Type
| Type | Description |
|---|---|
| Action1<TFrame> |
OnRaiseFrame
Raised when a frame is being raised.
Declaration
public event Action1<TFrame> OnRaiseFrame
Event Type
| Type | Description |
|---|---|
| Action1<TFrame> |
OnReceiveFrame
Raised when a frame is received.
Declaration
public event Action1<TFrame> OnReceiveFrame
Event Type
| Type | Description |
|---|---|
| Action1<TFrame> |
OnSendFrame
Raised when a frame is sent.
Declaration
public event Action1<TFrame> OnSendFrame
Event Type
| Type | Description |
|---|---|
| Action1<TFrame> |