Class: BaseRtpEndpoint

core/abstracts.BaseRtpEndpoint

This class extends from the SdpEndpoint, and handles RTP communications. All
  • ConnectionStateChangedEvent: This event is raised when the connection between two peers changes. It can have two values
    • CONNECTED
    • DISCONNECTED
  • MediaStateChangedEvent: Based on RTCP packet flow, this event provides more reliable information about the state of media flow. Since RTCP packets are not flowing at a constant rate (minimizing a browser with an RTCPeerConnection might affect this interval, for instance), there is a guard period of about 5s. This traduces in a period where there might be no media flowing, but the event hasn't been fired yet. Nevertheless, this is the most reliable and
    • CONNECTED: There is an RTCP packet flow between peers.
    • DISCONNECTED: No RTCP packets have been received, or at least 5s have passed since the last packet arrived.
Part of the bandwidth control of the video component of the media session is done here. The values of the properties described are in kbps.
  • Input bandwidth control mechanism: Configuration interval used to inform remote peer the range of bitrates that can be pushed into this BaseRtpEndpoint object.
    • setMinVideoRecvBandwidth: sets min bitrate limits expected for
    Max values are announced in the SDP, while min values are set to limit the lower value of REMB packages. It follows that min values
  • Output bandwidth control mechanism: Configuration interval used to
    • setMinVideoSendBandwidth: sets the minimum bitrate for video to be sent to remote peer. 0 is considered unconstrained.
    • setMaxVideoSendBandwidth: sets maximum bitrate limits for video sent to remote peer. 0 is considered unconstrained.
All bandwidth control parameters must be changed before the SDP negotiation takes place, and can't be changed afterwards.

Extends

Members

(static) constructorParams

Source:

(static) events

Source:

Methods

getChildren(callbackopt) → {external:Promise}

children of this MediaObject.
Parameters:
Name Type Attributes Description
callback module:core/abstracts.MediaObject~getChildrenCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

getChilds(callbackopt) → {external:Promise}

Parameters:
Name Type Attributes Description
callback module:core/abstracts.MediaObject~getChildsCallback <optional>
Inherited From:
Deprecated:
  • (Use children instead) children of this MediaObject.
Source:
Returns:
Type
external:Promise

getConnectionState(callbackopt) → {external:Promise}

Connection state. Possible values are
  • CONNECTED
  • DISCONNECTED
Parameters:
Name Type Attributes Description
callback module:core/abstracts.BaseRtpEndpoint~getConnectionStateCallback <optional>
Source:
Returns:
Type
external:Promise

getCreationTime(callbackopt) → {external:Promise}

MediaObject creation time in seconds since Epoch.
Parameters:
Name Type Attributes Description
callback module:core/abstracts.MediaObject~getCreationTimeCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

getMaxAudioRecvBandwidth(callbackopt) → {external:Promise}

Maximum bandwidth for audio reception, in kbps. The default value is 500. A value of 0 sets this as leaves this unconstrained.
Note This has
Parameters:
Name Type Attributes Description
callback module:core/abstracts.SdpEndpoint~getMaxAudioRecvBandwidthCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

getMaxOuputBitrate(callbackopt) → {external:Promise}

Parameters:
Name Type Attributes Description
callback module:core/abstracts.MediaElement~getMaxOuputBitrateCallback <optional>
Inherited From:
Deprecated:
  • Deprecated due to a typo. Use maxOutputBitrate instead of this function. Maximum video bandwidth for transcoding. 0 = unlimited. Unit: bps(bits per second). Default value: MAXINT
Source:
Returns:
Type
external:Promise

getMaxOutputBitrate(callbackopt) → {external:Promise}

Maximum video bitrate for transcoding. 0 = unlimited. Unit: bps(bits per second). Default value: MAXINT
Parameters:
Name Type Attributes Description
callback module:core/abstracts.MediaElement~getMaxOutputBitrateCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

getMaxVideoRecvBandwidth(callbackopt) → {external:Promise}

Maximum bandwidth for video reception, in kbps. The default value is 500. A value of 0 sets this as unconstrained.
Note This has to be set before the SDP is generated.
Parameters:
Name Type Attributes Description
callback module:core/abstracts.SdpEndpoint~getMaxVideoRecvBandwidthCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

getMaxVideoSendBandwidth(callbackopt) → {external:Promise}

Maximum bandwidth for video transmission, in kbps. The default value is 500 kbps. 0 is considered unconstrained.
Parameters:
Name Type Attributes Description
callback module:core/abstracts.BaseRtpEndpoint~getMaxVideoSendBandwidthCallback <optional>
Source:
Returns:
Type
external:Promise

getMediaPipeline(callbackopt) → {external:Promise}

MediaPipeline to which this MediaObject belongs. It returns itself when invoked for a pipeline object.
Parameters:
Name Type Attributes Description
callback module:core/abstracts.MediaObject~getMediaPipelineCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

getMediaState(callbackopt) → {external:Promise}

Media flow state. Possible values are
  • CONNECTED: There is an RTCP flow.
  • DISCONNECTED: No RTCP packets have been received for at least
Parameters:
Name Type Attributes Description
callback module:core/abstracts.BaseRtpEndpoint~getMediaStateCallback <optional>
Source:
Returns:
Type
external:Promise

getMinOuputBitrate(callbackopt) → {external:Promise}

Parameters:
Name Type Attributes Description
callback module:core/abstracts.MediaElement~getMinOuputBitrateCallback <optional>
Inherited From:
Deprecated:
  • Deprecated due to a typo. Use minOutputBitrate instead of this function. Minimum video bandwidth for transcoding. Unit: bps(bits per second). Default value: 0
Source:
Returns:
Type
external:Promise

getMinOutputBitrate(callbackopt) → {external:Promise}

Minimum video bitrate for transcoding. Unit: bps(bits per second). Default value: 0
Parameters:
Name Type Attributes Description
callback module:core/abstracts.MediaElement~getMinOutputBitrateCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

getMinVideoRecvBandwidth(callbackopt) → {external:Promise}

Minimum bandwidth announced for video reception, in kbps. The default value is 100 kbps. 0 is considered unconstrained.
Parameters:
Name Type Attributes Description
callback module:core/abstracts.BaseRtpEndpoint~getMinVideoRecvBandwidthCallback <optional>
Source:
Returns:
Type
external:Promise

getMinVideoSendBandwidth(callbackopt) → {external:Promise}

Minimum bandwidth for video transmission, in kbps. The default value is 100 kbps. 0 is considered unconstrained.
Parameters:
Name Type Attributes Description
callback module:core/abstracts.BaseRtpEndpoint~getMinVideoSendBandwidthCallback <optional>
Source:
Returns:
Type
external:Promise

getName(callbackopt) → {external:Promise}

this MediaObject's name. This is just a comodity to simplify developers' life debugging, it is not used internally for indexing nor idenfiying the objects. By default, it's the object's ID.
Parameters:
Name Type Attributes Description
callback module:core/abstracts.MediaObject~getNameCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

getParent(callbackopt) → {external:Promise}

parent of this MediaObject. The parent of a Hub or a
Parameters:
Name Type Attributes Description
callback module:core/abstracts.MediaObject~getParentCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

getRembParams(callbackopt) → {external:Promise

Advanced parameters to configure the congestion control algorithm.
Parameters:
Name Type Attributes Description
callback module:core/abstracts.BaseRtpEndpoint~getRembParamsCallback <optional>
Source:
Returns:
Type
external:Promise

getSendTagsInEvents(callbackopt) → {external:Promise}

flag activating or deactivating sending the element's tags in fired events.
Parameters:
Name Type Attributes Description
callback module:core/abstracts.MediaObject~getSendTagsInEventsCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

setMaxAudioRecvBandwidth(maxAudioRecvBandwidth, callbackopt) → {external:Promise}

Maximum bandwidth for audio reception, in kbps. The default value is 500. A value of 0 sets this as leaves this unconstrained.
Note This has
Parameters:
Name Type Attributes Description
maxAudioRecvBandwidth external:Integer
callback module:core/abstracts.SdpEndpoint~setMaxAudioRecvBandwidthCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

setMaxOuputBitrate(maxOuputBitrate, callbackopt) → {external:Promise}

Parameters:
Name Type Attributes Description
maxOuputBitrate external:Integer
callback module:core/abstracts.MediaElement~setMaxOuputBitrateCallback <optional>
Inherited From:
Deprecated:
  • Deprecated due to a typo. Use maxOutputBitrate instead of this function. Maximum video bandwidth for transcoding. 0 = unlimited. Unit: bps(bits per second). Default value: MAXINT
Source:
Returns:
Type
external:Promise

setMaxOutputBitrate(maxOutputBitrate, callbackopt) → {external:Promise}

Maximum video bitrate for transcoding. 0 = unlimited. Unit: bps(bits per second). Default value: MAXINT
Parameters:
Name Type Attributes Description
maxOutputBitrate external:Integer
callback module:core/abstracts.MediaElement~setMaxOutputBitrateCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

setMaxVideoRecvBandwidth(maxVideoRecvBandwidth, callbackopt) → {external:Promise}

Maximum bandwidth for video reception, in kbps. The default value is 500. A value of 0 sets this as unconstrained.
Note This has to be set before the SDP is generated.
Parameters:
Name Type Attributes Description
maxVideoRecvBandwidth external:Integer
callback module:core/abstracts.SdpEndpoint~setMaxVideoRecvBandwidthCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

setMaxVideoSendBandwidth(maxVideoSendBandwidth, callbackopt) → {external:Promise}

Maximum bandwidth for video transmission, in kbps. The default value is 500 kbps. 0 is considered unconstrained.
Parameters:
Name Type Attributes Description
maxVideoSendBandwidth external:Integer
callback module:core/abstracts.BaseRtpEndpoint~setMaxVideoSendBandwidthCallback <optional>
Source:
Returns:
Type
external:Promise

setMinOuputBitrate(minOuputBitrate, callbackopt) → {external:Promise}

Parameters:
Name Type Attributes Description
minOuputBitrate external:Integer
callback module:core/abstracts.MediaElement~setMinOuputBitrateCallback <optional>
Inherited From:
Deprecated:
  • Deprecated due to a typo. Use minOutputBitrate instead of this function. Minimum video bandwidth for transcoding. Unit: bps(bits per second). Default value: 0
Source:
Returns:
Type
external:Promise

setMinOutputBitrate(minOutputBitrate, callbackopt) → {external:Promise}

Minimum video bitrate for transcoding. Unit: bps(bits per second). Default value: 0
Parameters:
Name Type Attributes Description
minOutputBitrate external:Integer
callback module:core/abstracts.MediaElement~setMinOutputBitrateCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

setMinVideoRecvBandwidth(minVideoRecvBandwidth, callbackopt) → {external:Promise}

Minimum bandwidth announced for video reception, in kbps. The default value is 100 kbps. 0 is considered unconstrained.
Parameters:
Name Type Attributes Description
minVideoRecvBandwidth external:Integer
callback module:core/abstracts.BaseRtpEndpoint~setMinVideoRecvBandwidthCallback <optional>
Source:
Returns:
Type
external:Promise

setMinVideoSendBandwidth(minVideoSendBandwidth, callbackopt) → {external:Promise}

Minimum bandwidth for video transmission, in kbps. The default value is 100 kbps. 0 is considered unconstrained.
Parameters:
Name Type Attributes Description
minVideoSendBandwidth external:Integer
callback module:core/abstracts.BaseRtpEndpoint~setMinVideoSendBandwidthCallback <optional>
Source:
Returns:
Type
external:Promise

setName(name, callbackopt) → {external:Promise}

this MediaObject's name. This is just a comodity to simplify developers' life debugging, it is not used internally for indexing nor idenfiying the objects. By default, it's the object's ID.
Parameters:
Name Type Attributes Description
name external:String
callback module:core/abstracts.MediaObject~setNameCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

setRembParams(rembParams, callbackopt) → {external:Promise}

Advanced parameters to configure the congestion control algorithm.
Parameters:
Name Type Attributes Description
rembParams module:core/complexTypes.RembParams
callback module:core/abstracts.BaseRtpEndpoint~setRembParamsCallback <optional>
Source:
Returns:
Type
external:Promise

setSendTagsInEvents(sendTagsInEvents, callbackopt) → {external:Promise}

flag activating or deactivating sending the element's tags in fired events.
Parameters:
Name Type Attributes Description
sendTagsInEvents external:Boolean
callback module:core/abstracts.MediaObject~setSendTagsInEventsCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

Type Definitions

getConnectionStateCallback(error, result)

Parameters:
Name Type Description
error external:Error
result module:core/complexTypes.ConnectionState
Source:

getMaxVideoSendBandwidthCallback(error, result)

Parameters:
Name Type Description
error external:Error
result external:Integer
Source:

getMediaStateCallback(error, result)

Parameters:
Name Type Description
error external:Error
result module:core/complexTypes.MediaState
Source:

getMinVideoRecvBandwidthCallback(error, result)

Parameters:
Name Type Description
error external:Error
result external:Integer
Source:

getMinVideoSendBandwidthCallback(error, result)

Parameters:
Name Type Description
error external:Error
result external:Integer
Source:

getRembParamsCallback(error, result)

Parameters:
Name Type Description
error external:Error
result module:core/complexTypes.RembParams
Source:

setMaxVideoSendBandwidthCallback(error)

Parameters:
Name Type Description
error external:Error
Source:

setMinVideoRecvBandwidthCallback(error)

Parameters:
Name Type Description
error external:Error
Source:

setMinVideoSendBandwidthCallback(error)

Parameters:
Name Type Description
error external:Error
Source:

setRembParamsCallback(error)

Parameters:
Name Type Description
error external:Error
Source: