/ fm / liveswitch / WebRtcDataStreamBase
Class: WebRtcDataStreamBase<TDataChannel>
fm.liveswitch.WebRtcDataStreamBase
Data stream base properties/methods.
Type parameters
Name | Type |
---|---|
TDataChannel |
WebRtcDataChannelBase<TDataChannel> |
Hierarchy
-
↳ WebRtcDataStreamBase
Implements
- IDataStream<TDataChannel>
- IStream
Table of contents
Constructors
Methods
- addOnDirectionChange
- addOnStateChange
- attachToChannel
- changeDirection
- getBytesReceived
- getBytesSent
- getCanonicalName
- getChannels
- getConnectedTimestamp
- getConnection
- getConnectionId
- getDirection
- getDynamicProperties
- getDynamicValue
- getExternalId
- getId
- getInfo
- getIsTerminated
- getIsTerminating
- getIsTerminatingOrTerminated
- getLabel
- getLocalDirection
- getLocalReceive
- getLocalSend
- getMediaDescriptionId
- getMessagesReceived
- getMessagesSent
- getRemoteDirection
- getRemoteReceive
- getRemoteSend
- getState
- getTag
- getTransportInfo
- getType
- getTypeString
- getUseWssForMedia
- processStateChange
- processStateLockChange
- registerDataReceived
- registerDataSent
- removeOnDirectionChange
- removeOnStateChange
- setConnection
- setDynamicValue
- setExternalId
- setLocalDirection
- setLocalReceive
- setLocalSend
- setTag
- setTransportInfo
- setUseWssForMedia
- toString
- unsetDynamicValue
Constructors
constructor
+ new WebRtcDataStreamBase<TDataChannel>(): WebRtcDataStreamBase<TDataChannel>
Initializes a new instance of the [[fm.liveswitch.dataStreamBase]] class.
Type parameters:
Name | Type |
---|---|
TDataChannel |
WebRtcDataChannelBase<TDataChannel, TDataChannel> |
Returns: WebRtcDataStreamBase<TDataChannel>
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcDataStreamBase.ts:24
Methods
addOnDirectionChange
▸ addOnDirectionChange(value
: IAction0): void
Adds a handler that is raised when the stream direction changes.
Stream direction indicates the direction of media flow. For example:
- A stream in an SFU upstream connection has a direction of SendOnly.
- A stream in an SFU downstream connection has a direction of ReceiveOnly.
- A stream in an MCU connection has a direction of SendReceive if it is attached to both local and remote media. If it is only attached to local media, it has a direction of SendOnly. If it is only attached to remote media, it has a direction of ReceiveOnly.
- An update to an SFU upstream connection might instruct the stream to stop sending audio or video frames. In this case, the direction of the stream changes to Inactive.
- An update to an SFU downstream connection might cause it to stop receiving audio or video frames. In this case, the direction of the stream changes to Inactive.
- An update to an MCU upstream connection might instruct the stream to stop sending audio or video frames. In this case, the following occurs:
- If the direction of the stream was SendOnly, then the direction changes to Inactive.
- If the direction of the stream was ReceiveOnly, then the direction changes to SendReceive.
- An update to an MCU upstream connection might instruct it to stop receiving audio or video frames. In this case, the following occurs:
- If the direction of the stream was ReceiveOnly, then the direction changes to Inactive.
- If the direction of the stream was SendReceive, then the direction changes to SendOnly.
Parameters:
Name | Type |
---|---|
value |
IAction0 |
Returns: void
Implementation of: IStream
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStreamBase.ts:88
addOnStateChange
▸ addOnStateChange(value
: IAction0): void
Adds a handler that is raised when the connection state changes.
This method can track the state of the connection and can be used to display the current status of the connection to the user, add or remove media views in the UI, and handle retry logic if the connection fails.
Parameters:
Name | Type |
---|---|
value |
IAction0 |
Returns: void
Implementation of: IStream
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStreamBase.ts:101
attachToChannel
▸ Protected
attachToChannel(channel
: TDataChannel): void
Attaches a data channel to this stream (events and IDs).
Parameters:
Name | Type |
---|---|
channel |
TDataChannel |
Returns: void
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcDataStreamBase.ts:52
changeDirection
▸ changeDirection(newDirection
: StreamDirection): Error
Changes this stream's direction
Parameters:
Name | Type |
---|---|
newDirection |
StreamDirection |
Returns: Error
Implementation of: IStream
Overrides: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcDataStreamBase.ts:70
getBytesReceived
▸ getBytesReceived(): number
Gets the number of bytes received.
Returns: number
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcDataStreamBase.ts:84
getBytesSent
▸ getBytesSent(): number
Gets the number of bytes sent.
Returns: number
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcDataStreamBase.ts:96
getCanonicalName
▸ getCanonicalName(): string
Gets the canonical name.
deprecated
Will be removed in a future release.
Returns: string
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcDataStreamBase.ts:109
getChannels
▸ Abstract
getChannels(): TDataChannel[]
Gets the channels.
Returns: TDataChannel[]
Implementation of: IDataStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcDataStreamBase.ts:121
getConnectedTimestamp
▸ Protected
getConnectedTimestamp(): number
Gets the ManagedStopwatch.GetTimestamp() value representing the ticks that passed when this stream's connection state changed to connected.
Returns: number
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStreamBase.ts:120
getConnection
▸ getConnection(): WebRtcConnection
Returns: WebRtcConnection
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStream.ts:10
getConnectionId
▸ getConnectionId(): string
Gets the connection identifier.
Returns: string
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStreamBase.ts:132
getDirection
▸ getDirection(): StreamDirection
Gets the current direction.
Returns: StreamDirection
Implementation of: IStream
Overrides: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcDataStreamBase.ts:127
getDynamicProperties
▸ getDynamicProperties(): Hash<string, Object>
Gets all dynamic properties on this instance.
Returns: Hash<string, Object>
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/Dynamic.ts:37
getDynamicValue
▸ getDynamicValue(key
: string): Object
Gets a property value from the local cache.
Parameters:
Name | Type | Description |
---|---|---|
key |
string | The property key. This key is used internally only, but should be namespaced to avoid conflict with third-party extensions. |
Returns: Object
The stored value, if found; otherwise null.
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/Dynamic.ts:58
getExternalId
▸ getExternalId(): string
Gets the external identifier.
Returns: string
Implementation of: IStream
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStreamBase.ts:152
getId
▸ getId(): string
Gets the identifier.
Returns: string
Implementation of: IStream
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStreamBase.ts:164
getInfo
▸ getInfo(): DataStreamInfo
Gets the data stream info.
Returns: DataStreamInfo
Implementation of: IDataStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcDataStreamBase.ts:155
getIsTerminated
▸ getIsTerminated(): boolean
Gets a value indicating whether the stream is currently closed or failed.
Returns: boolean
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStreamBase.ts:192
getIsTerminating
▸ getIsTerminating(): boolean
Gets a value indicating whether the stream is currently closing or failing.
Returns: boolean
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStreamBase.ts:204
getIsTerminatingOrTerminated
▸ getIsTerminatingOrTerminated(): boolean
Gets a value indicating whether the stream is currently closing, failing, closed, or failed.
Returns: boolean
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStreamBase.ts:216
getLabel
▸ getLabel(): string
Gets a label that identifies this class.
Returns: string
Implementation of: IStream
Overrides: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcDataStreamBase.ts:181
getLocalDirection
▸ getLocalDirection(): StreamDirection
Gets the current direction.
Returns: StreamDirection
Implementation of: IStream
Overrides: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcDataStreamBase.ts:193
getLocalReceive
▸ getLocalReceive(): boolean
Gets a value indicating whether the local peer supports receiving media on this stream.
Use this method to determine if a stream is used for sending media or only receiving media.
Returns: boolean
Implementation of: IStream
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStreamBase.ts:249
getLocalSend
▸ getLocalSend(): boolean
Gets a value indicating whether the local peer on this stream supports sending media on this stream.
Use this property to determine if a stream is used for sending media or only receiving media.
Returns: boolean
Implementation of: IStream
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStreamBase.ts:263
getMediaDescriptionId
▸ getMediaDescriptionId(): string
Gets the media description ID of this stream.
The media description ID is only available once a connection is opened with this stream, because it is obtained from the local SDP description of this stream.
Returns: string
Implementation of: IStream
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStreamBase.ts:277
getMessagesReceived
▸ getMessagesReceived(): number
Gets the number of messages received.
Returns: number
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcDataStreamBase.ts:205
getMessagesSent
▸ getMessagesSent(): number
Gets the number of messages sent.
Returns: number
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcDataStreamBase.ts:217
getRemoteDirection
▸ getRemoteDirection(): StreamDirection
Gets the current direction.
Returns: StreamDirection
Implementation of: IStream
Overrides: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcDataStreamBase.ts:229
getRemoteReceive
▸ getRemoteReceive(): boolean
Gets a value indicating whether receiving media is supported by the remote peer on this stream. Returns false if the remote stream direction has not been received.
Returns: boolean
Implementation of: IStream
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStreamBase.ts:305
getRemoteSend
▸ getRemoteSend(): boolean
Gets a value indicating whether sending media is supported by the remote peer on this stream. Returns false if the remote stream direction has not been received.
Returns: boolean
Implementation of: IStream
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStreamBase.ts:318
getState
▸ getState(): StreamState
Gets the state of the stream.
Returns: StreamState
Implementation of: IStream
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStreamBase.ts:331
getTag
▸ getTag(): string
Gets optional data to associate with this instance.
Returns: string
Implementation of: IStream
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStreamBase.ts:351
getTransportInfo
▸ getTransportInfo(): TransportInfo
Returns: TransportInfo
Implementation of: IStream
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStream.ts:41
getType
▸ getType(): StreamType
Gets the type.
Returns: StreamType
Implementation of: IStream
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStreamBase.ts:369
getTypeString
▸ getTypeString(): string
Returns: string
Overrides: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcDataStreamBase.ts:10
getUseWssForMedia
▸ getUseWssForMedia(): boolean
Gets a value indicating whether W
Returns: boolean
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStreamBase.ts:381
processStateChange
▸ Protected
processStateChange(): void
Processes a state change.
Returns: void
Overrides: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcDataStreamBase.ts:241
processStateLockChange
▸ Protected
processStateLockChange(): void
Processes a state lock change.
Returns: void
Overrides: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcDataStreamBase.ts:273
registerDataReceived
▸ Protected
registerDataReceived(dataLength
: number): void
Registers that a data has been received.
Parameters:
Name | Type | Description |
---|---|---|
dataLength |
number | The data length. |
Returns: void
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcDataStreamBase.ts:294
registerDataSent
▸ Protected
registerDataSent(dataLength
: number): void
Registers that a data has been received.
Parameters:
Name | Type | Description |
---|---|---|
dataLength |
number | The data length. |
Returns: void
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcDataStreamBase.ts:309
removeOnDirectionChange
▸ removeOnDirectionChange(value
: IAction0): void
Removes a handler that is raised when the stream direction changes.
Stream direction indicates the direction of media flow. For example:
- A stream in an SFU upstream connection has a direction of SendOnly.
- A stream in an SFU downstream connection has a direction of ReceiveOnly.
- A stream in an MCU connection has a direction of SendReceive if it is attached to both local and remote media. If it is only attached to local media, it has a direction of SendOnly. If it is only attached to remote media, it has a direction of ReceiveOnly.
- An update to an SFU upstream connection might instruct the stream to stop sending audio or video frames. In this case, the direction of the stream changes to Inactive.
- An update to an SFU downstream connection might cause it to stop receiving audio or video frames. In this case, the direction of the stream changes to Inactive.
- An update to an MCU upstream connection might instruct the stream to stop sending audio or video frames. In this case, the following occurs:
- If the direction of the stream was SendOnly, then the direction changes to Inactive.
- If the direction of the stream was ReceiveOnly, then the direction changes to SendReceive.
- An update to an MCU upstream connection might instruct it to stop receiving audio or video frames. In this case, the following occurs:
- If the direction of the stream was ReceiveOnly, then the direction changes to Inactive.
- If the direction of the stream was SendReceive, then the direction changes to SendOnly.
Parameters:
Name | Type |
---|---|
value |
IAction0 |
Returns: void
Implementation of: IStream
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStreamBase.ts:471
removeOnStateChange
▸ removeOnStateChange(value
: IAction0): void
Removes a handler that is raised when the connection state changes.
This method can track the state of the connection and can be used to display the current status of the connection to the user, add or remove media views in the UI, and handle retry logic if the connection fails.
Parameters:
Name | Type |
---|---|
value |
IAction0 |
Returns: void
Implementation of: IStream
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStreamBase.ts:484
setConnection
▸ setConnection(remoteTrack
: WebRtcConnection): void
Parameters:
Name | Type |
---|---|
remoteTrack |
WebRtcConnection |
Returns: void
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStream.ts:13
setDynamicValue
▸ setDynamicValue(key
: string, value
: Object): void
Sets a property value in the local cache.
Parameters:
Name | Type | Description |
---|---|---|
key |
string | The property key. This key is used internally only, but should be namespaced to avoid conflict with third-party extensions. |
value |
Object | The property value. This can be any object that needs to be stored for future use. |
Returns: void
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/Dynamic.ts:95
setExternalId
▸ setExternalId(value
: string): void
Sets the external identifier.
Parameters:
Name | Type |
---|---|
value |
string |
Returns: void
Implementation of: IStream
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStreamBase.ts:520
setLocalDirection
▸ setLocalDirection(value
: StreamDirection): void
Sets the current direction.
Parameters:
Name | Type |
---|---|
value |
StreamDirection |
Returns: void
Implementation of: IStream
Overrides: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcDataStreamBase.ts:344
setLocalReceive
▸ setLocalReceive(value
: boolean): void
Sets a value indicating whether the local peer supports receiving media on this stream.
Use this method to determine if a stream is used for sending media or only receiving media.
Parameters:
Name | Type |
---|---|
value |
boolean |
Returns: void
Implementation of: IStream
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStreamBase.ts:547
setLocalSend
▸ setLocalSend(value
: boolean): void
Sets a value indicating whether the local peer on this stream supports sending media on this stream.
Use this property to determine if a stream is used for sending media or only receiving media.
Parameters:
Name | Type |
---|---|
value |
boolean |
Returns: void
Implementation of: IStream
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStreamBase.ts:586
setTag
▸ setTag(value
: string): void
Sets optional data to associate with this instance.
Parameters:
Name | Type |
---|---|
value |
string |
Returns: void
Implementation of: IStream
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStreamBase.ts:674
setTransportInfo
▸ setTransportInfo(transportInfo
: TransportInfo): void
Parameters:
Name | Type |
---|---|
transportInfo |
TransportInfo |
Returns: void
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStream.ts:37
setUseWssForMedia
▸ setUseWssForMedia(value
: boolean): void
Sets a value indicating whether W
Parameters:
Name | Type |
---|---|
value |
boolean |
Returns: void
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStreamBase.ts:694
toString
▸ toString(): string
Returns a string that represents this instance.
Returns: string
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/WebRtcStreamBase.ts:706
unsetDynamicValue
▸ unsetDynamicValue(key
: string): boolean
Removes a property value from the local cache. Returns true if the value was removed and returns false otherwise.
Parameters:
Name | Type | Description |
---|---|---|
key |
string | The property key. This key is used internally only, but should be namespaced to avoid conflict with third-party extensions. |
Returns: boolean
true
if the value was removed; otherwise, false
.
Inherited from: WebRtcStream
Defined in: Generated/TypeScript/fm.liveswitch/Dynamic.ts:122