Class: SdpEndpoint

(abstract) core/abstracts.SdpEndpoint()

Interface implemented by Endpoints that require an SDP negotiation for the setup of a networked media session with remote peers.

The API provides the following functionality:

  • Generate SDP offers.
  • Process SDP offers.
  • Configure SDP related params.

Constructor

(abstract) new SdpEndpoint()

Source:

Extends

Members

(static) constructorParams

Source:

(static) events

Source:

Methods

(static) generateOffer(callbackopt) → {external:Promise}

Generates an SDP offer with media capabilities of the Endpoint. Throws:
  • SDP_END_POINT_ALREADY_NEGOTIATED If the endpoint is already negotiated.
  • SDP_END_POINT_GENERATE_OFFER_ERROR if the generated offer is empty. This is most likely due to an internal error.
Parameters:
Name Type Attributes Description
callback module:core/abstracts.SdpEndpoint~generateOfferCallback <optional>
Source:
Returns:
Type
external:Promise

(static) getLocalSessionDescriptor(callbackopt) → {external:Promise}

Returns the local SDP.
  • No offer has been generated: returns null.
  • Offer has been generated: returns the SDP offer.
  • Offer has been generated and answer processed: returns the agreed SDP.
Parameters:
Name Type Attributes Description
callback module:core/abstracts.SdpEndpoint~getLocalSessionDescriptorCallback <optional>
Source:
Returns:
Type
external:Promise

(static) getRemoteSessionDescriptor(callbackopt) → {external:Promise}

This method returns the remote SDP. If the negotiation process is not complete, it will return NULL.
Parameters:
Name Type Attributes Description
callback module:core/abstracts.SdpEndpoint~getRemoteSessionDescriptorCallback <optional>
Source:
Returns:
Type
external:Promise

(static) processAnswer(answer, callbackopt) → {external:Promise}

Generates an SDP offer with media capabilities of the Endpoint. Throws:
  • SDP_PARSE_ERROR If the offer is empty or has errors.
  • SDP_END_POINT_ALREADY_NEGOTIATED If the endpoint is already negotiated.
  • SDP_END_POINT_PROCESS_ANSWER_ERROR if the result of processing the answer an empty string. This is most likely due to an internal error.
  • SDP_END_POINT_NOT_OFFER_GENERATED If the method is invoked before the generateOffer method.
Parameters:
Name Type Attributes Description
answer external:String SessionSpec answer from the remote User Agent
callback module:core/abstracts.SdpEndpoint~processAnswerCallback <optional>
Source:
Returns:
Type
external:Promise

(static) processOffer(offer, callbackopt) → {external:Promise}

Processes SDP offer of the remote peer, and generates an SDP answer based on the endpoint's capabilities.

If no matching capabilities are found, the SDP will contain no codecs.

Throws:
  • SDP_PARSE_ERROR If the offer is empty or has errors.
  • SDP_END_POINT_ALREADY_NEGOTIATED If the endpoint is already negotiated.
  • SDP_END_POINT_PROCESS_OFFER_ERROR if the generated offer is empty. This is most likely due to an internal error.
Parameters:
Name Type Attributes Description
offer external:String SessionSpec offer from the remote User Agent
callback module:core/abstracts.SdpEndpoint~processOfferCallback <optional>
Source:
Returns:
Type
external:Promise

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}

Children of this MediaObject.
Parameters:
Name Type Attributes Description
callback module:core/abstracts.MediaObject~getChildsCallback <optional>
Inherited From:
Deprecated:
  • Use children instead.
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 bitrate expected for the received audio stream.

This is used to put a limit on the bitrate that the remote peer will send to this endpoint. The net effect of setting this parameter is that when Kurento generates an SDP Offer, an 'Application Specific' (AS) maximum bandwidth attribute will be added to the SDP media section: b=AS:{value}.

Note: This parameter has to be set before the SDP is generated.

  • Unit: kbps (kilobits per second).
  • Default: 0.
  • 0 = unconstrained.
Parameters:
Name Type Attributes Description
callback module:core/abstracts.SdpEndpoint~getMaxAudioRecvBandwidthCallback <optional>
Source:
Returns:
Type
external:Promise

getMaxOuputBitrate(callbackopt) → {external:Promise}

Maximum video bandwidth for transcoding.
Parameters:
Name Type Attributes Description
callback module:core/abstracts.MediaElement~getMaxOuputBitrateCallback <optional>
Inherited From:
Deprecated:
  • Deprecated due to a typo. Use module:core/abstracts.MediaElement#maxOutputBitrate instead of this function.
Source:
Returns:
Type
external:Promise

getMaxOutputBitrate(callbackopt) → {external:Promise}

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

getMaxVideoRecvBandwidth(callbackopt) → {external:Promise}

Maximum bitrate expected for the received video stream.

This is used to put a limit on the bitrate that the remote peer will send to this endpoint. The net effect of setting this parameter is that when Kurento generates an SDP Offer, an 'Application Specific' (AS) maximum bandwidth attribute will be added to the SDP media section: b=AS:{value}.

Note: This parameter has to be set before the SDP is generated.

  • Unit: kbps (kilobits per second).
  • Default: 0.
  • 0 = unconstrained.
Parameters:
Name Type Attributes Description
callback module:core/abstracts.SdpEndpoint~getMaxVideoRecvBandwidthCallback <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

getMinOuputBitrate(callbackopt) → {external:Promise}

Minimum video bandwidth for transcoding.
Parameters:
Name Type Attributes Description
callback module:core/abstracts.MediaElement~getMinOuputBitrateCallback <optional>
Inherited From:
Deprecated:
  • Deprecated due to a typo. Use module:core/abstracts.MediaElement#minOutputBitrate instead of this function.
Source:
Returns:
Type
external:Promise

getMinOutputBitrate(callbackopt) → {external:Promise}

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

getName(callbackopt) → {external:Promise}

This MediaObject's name.

This is just sugar to simplify developers' life debugging, it is not used internally for indexing nor identifying 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 MediaElement is its MediaPipeline. A MediaPipeline has no parent, so this property will be null.

Parameters:
Name Type Attributes Description
callback module:core/abstracts.MediaObject~getParentCallback <optional>
Inherited From:
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 bitrate expected for the received audio stream.

This is used to put a limit on the bitrate that the remote peer will send to this endpoint. The net effect of setting this parameter is that when Kurento generates an SDP Offer, an 'Application Specific' (AS) maximum bandwidth attribute will be added to the SDP media section: b=AS:{value}.

Note: This parameter has to be set before the SDP is generated.

  • Unit: kbps (kilobits per second).
  • Default: 0.
  • 0 = unconstrained.
Parameters:
Name Type Attributes Description
maxAudioRecvBandwidth external:Integer
callback module:core/abstracts.SdpEndpoint~setMaxAudioRecvBandwidthCallback <optional>
Source:
Returns:
Type
external:Promise

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

Maximum video bandwidth for transcoding.
Parameters:
Name Type Attributes Description
maxOuputBitrate external:Integer
callback module:core/abstracts.MediaElement~setMaxOuputBitrateCallback <optional>
Inherited From:
Deprecated:
  • Deprecated due to a typo. Use module:core/abstracts.MediaElement#maxOutputBitrate instead of this function.
Source:
Returns:
Type
external:Promise

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

Maximum video bitrate for transcoding.
  • Unit: bps (bits per second).
  • Default: MAXINT.
  • 0 = unlimited.
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 bitrate expected for the received video stream.

This is used to put a limit on the bitrate that the remote peer will send to this endpoint. The net effect of setting this parameter is that when Kurento generates an SDP Offer, an 'Application Specific' (AS) maximum bandwidth attribute will be added to the SDP media section: b=AS:{value}.

Note: This parameter has to be set before the SDP is generated.

  • Unit: kbps (kilobits per second).
  • Default: 0.
  • 0 = unconstrained.
Parameters:
Name Type Attributes Description
maxVideoRecvBandwidth external:Integer
callback module:core/abstracts.SdpEndpoint~setMaxVideoRecvBandwidthCallback <optional>
Source:
Returns:
Type
external:Promise

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

Minimum video bandwidth for transcoding.
Parameters:
Name Type Attributes Description
minOuputBitrate external:Integer
callback module:core/abstracts.MediaElement~setMinOuputBitrateCallback <optional>
Inherited From:
Deprecated:
  • Deprecated due to a typo. Use module:core/abstracts.MediaElement#minOutputBitrate instead of this function.
Source:
Returns:
Type
external:Promise

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

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

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

This MediaObject's name.

This is just sugar to simplify developers' life debugging, it is not used internally for indexing nor identifying 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

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

generateOfferCallback(error, result)

Parameters:
Name Type Description
error external:Error
result external:String The SDP offer.
Source:

getLocalSessionDescriptorCallback(error, result)

Parameters:
Name Type Description
error external:Error
result external:String The last agreed SessionSpec.
Source:

getMaxAudioRecvBandwidthCallback(error, result)

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

getMaxVideoRecvBandwidthCallback(error, result)

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

getRemoteSessionDescriptorCallback(error, result)

Parameters:
Name Type Description
error external:Error
result external:String The last agreed User Agent session description.
Source:

processAnswerCallback(error, result)

Parameters:
Name Type Description
error external:Error
result external:String Updated SDP offer, based on the answer received.
Source:

processOfferCallback(error, result)

Parameters:
Name Type Description
error external:Error
result external:String The chosen configuration from the ones stated in the SDP offer.
Source:

setMaxAudioRecvBandwidthCallback(error)

Parameters:
Name Type Description
error external:Error
Source:

setMaxVideoRecvBandwidthCallback(error)

Parameters:
Name Type Description
error external:Error
Source: