Package org.kurento.client
Interface SdpEndpoint
-
- All Superinterfaces:
Endpoint
,KurentoObject
,MediaElement
,MediaObject
,SessionEndpoint
- All Known Subinterfaces:
BaseRtpEndpoint
,RtpEndpoint
,WebRtcEndpoint
public interface SdpEndpoint extends SessionEndpoint
Interface implemented by Endpoints that require an SDP Offer/Answer negotiation in order to configure a media session.Functionality provided by this API:
- Generate SDP offers.
- Process SDP offers.
- Configure SDP related params.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description String
generateOffer()
Generates an SDP offer with media capabilities of the Endpoint.void
generateOffer(Continuation<String> cont)
Asynchronous version of generateOffer:Continuation.onSuccess(F)
is called when the action is done.String
generateOffer(OfferOptions options)
Generates an SDP offer with media capabilities of the Endpoint.void
generateOffer(OfferOptions options, Continuation<String> cont)
Asynchronous version of generateOffer:Continuation.onSuccess(F)
is called when the action is done.TFuture<String>
generateOffer(Transaction tx)
Generates an SDP offer with media capabilities of the Endpoint.TFuture<String>
generateOffer(Transaction tx, OfferOptions options)
Generates an SDP offer with media capabilities of the Endpoint.String
getLocalSessionDescriptor()
Returns the local SDP.void
getLocalSessionDescriptor(Continuation<String> cont)
Asynchronous version of getLocalSessionDescriptor:Continuation.onSuccess(F)
is called when the action is done.TFuture<String>
getLocalSessionDescriptor(Transaction tx)
Returns the local SDP.int
getMaxAudioRecvBandwidth()
Get Maximum inbound bitrate requested by this endpoint.void
getMaxAudioRecvBandwidth(Continuation<Integer> cont)
Get Maximum inbound bitrate requested by this endpoint.TFuture<Integer>
getMaxAudioRecvBandwidth(Transaction tx)
Get Maximum inbound bitrate requested by this endpoint.int
getMaxVideoRecvBandwidth()
Get Maximum inbound bitrate requested by this endpoint.void
getMaxVideoRecvBandwidth(Continuation<Integer> cont)
Get Maximum inbound bitrate requested by this endpoint.TFuture<Integer>
getMaxVideoRecvBandwidth(Transaction tx)
Get Maximum inbound bitrate requested by this endpoint.String
getRemoteSessionDescriptor()
This method returns the remote SDP.void
getRemoteSessionDescriptor(Continuation<String> cont)
Asynchronous version of getRemoteSessionDescriptor:Continuation.onSuccess(F)
is called when the action is done.TFuture<String>
getRemoteSessionDescriptor(Transaction tx)
This method returns the remote SDP.String
processAnswer(String answer)
Generates an SDP offer with media capabilities of the Endpoint.void
processAnswer(String answer, Continuation<String> cont)
Asynchronous version of processAnswer:Continuation.onSuccess(F)
is called when the action is done.TFuture<String>
processAnswer(Transaction tx, String answer)
Generates an SDP offer with media capabilities of the Endpoint.String
processOffer(String offer)
Processes SDP offer of the remote peer, and generates an SDP answer based on the endpoint's capabilities.void
processOffer(String offer, Continuation<String> cont)
Asynchronous version of processOffer:Continuation.onSuccess(F)
is called when the action is done.TFuture<String>
processOffer(Transaction tx, String offer)
Processes SDP offer of the remote peer, and generates an SDP answer based on the endpoint's capabilities.void
setMaxAudioRecvBandwidth(int maxAudioRecvBandwidth)
Set Maximum inbound bitrate requested by this endpoint.void
setMaxAudioRecvBandwidth(int maxAudioRecvBandwidth, Continuation<Void> cont)
Set Maximum inbound bitrate requested by this endpoint.void
setMaxAudioRecvBandwidth(int maxAudioRecvBandwidth, Transaction tx)
Set Maximum inbound bitrate requested by this endpoint.void
setMaxVideoRecvBandwidth(int maxVideoRecvBandwidth)
Set Maximum inbound bitrate requested by this endpoint.void
setMaxVideoRecvBandwidth(int maxVideoRecvBandwidth, Continuation<Void> cont)
Set Maximum inbound bitrate requested by this endpoint.void
setMaxVideoRecvBandwidth(int maxVideoRecvBandwidth, Transaction tx)
Set Maximum inbound bitrate requested by this endpoint.-
Methods inherited from interface org.kurento.client.KurentoObject
addEventListener, invoke, isCommited, release, release, release, removeEventListener, waitCommited, whenCommited, whenCommited
-
Methods inherited from interface org.kurento.client.MediaElement
addElementConnectedListener, addElementConnectedListener, addElementDisconnectedListener, addElementDisconnectedListener, addMediaFlowInStateChangedListener, addMediaFlowInStateChangedListener, addMediaFlowOutStateChangedListener, addMediaFlowOutStateChangedListener, addMediaTranscodingStateChangedListener, addMediaTranscodingStateChangedListener, connect, connect, connect, connect, connect, connect, connect, connect, connect, connect, connect, connect, disconnect, disconnect, disconnect, disconnect, disconnect, disconnect, disconnect, disconnect, disconnect, disconnect, disconnect, disconnect, getEncoderBitrate, getEncoderBitrate, getEncoderBitrate, getGstreamerDot, getGstreamerDot, getGstreamerDot, getGstreamerDot, getGstreamerDot, getGstreamerDot, getMaxEncoderBitrate, getMaxEncoderBitrate, getMaxEncoderBitrate, getMinEncoderBitrate, getMinEncoderBitrate, getMinEncoderBitrate, getSinkConnections, getSinkConnections, getSinkConnections, getSinkConnections, getSinkConnections, getSinkConnections, getSinkConnections, getSinkConnections, getSinkConnections, getSourceConnections, getSourceConnections, getSourceConnections, getSourceConnections, getSourceConnections, getSourceConnections, getSourceConnections, getSourceConnections, getSourceConnections, getStats, getStats, getStats, getStats, getStats, getStats, isMediaFlowingIn, isMediaFlowingIn, isMediaFlowingIn, isMediaFlowingIn, isMediaFlowingIn, isMediaFlowingIn, isMediaFlowingOut, isMediaFlowingOut, isMediaFlowingOut, isMediaFlowingOut, isMediaFlowingOut, isMediaFlowingOut, isMediaTranscoding, isMediaTranscoding, isMediaTranscoding, isMediaTranscoding, isMediaTranscoding, isMediaTranscoding, removeElementConnectedListener, removeElementConnectedListener, removeElementDisconnectedListener, removeElementDisconnectedListener, removeMediaFlowInStateChangedListener, removeMediaFlowInStateChangedListener, removeMediaFlowOutStateChangedListener, removeMediaFlowOutStateChangedListener, removeMediaTranscodingStateChangedListener, removeMediaTranscodingStateChangedListener, setAudioFormat, setAudioFormat, setAudioFormat, setEncoderBitrate, setEncoderBitrate, setEncoderBitrate, setMaxEncoderBitrate, setMaxEncoderBitrate, setMaxEncoderBitrate, setMinEncoderBitrate, setMinEncoderBitrate, setMinEncoderBitrate, setVideoFormat, setVideoFormat, setVideoFormat
-
Methods inherited from interface org.kurento.client.MediaObject
addErrorListener, addErrorListener, addTag, addTag, addTag, getChildren, getChildren, getChildren, getCreationTime, getCreationTime, getCreationTime, getId, getId, getId, getMediaPipeline, getMediaPipeline, getMediaPipeline, getName, getName, getName, getParent, getParent, getParent, getSendTagsInEvents, getSendTagsInEvents, getSendTagsInEvents, getTag, getTag, getTag, getTags, getTags, getTags, removeErrorListener, removeErrorListener, removeTag, removeTag, removeTag, setName, setName, setName, setSendTagsInEvents, setSendTagsInEvents, setSendTagsInEvents
-
Methods inherited from interface org.kurento.client.SessionEndpoint
addMediaSessionStartedListener, addMediaSessionStartedListener, addMediaSessionTerminatedListener, addMediaSessionTerminatedListener, removeMediaSessionStartedListener, removeMediaSessionStartedListener, removeMediaSessionTerminatedListener, removeMediaSessionTerminatedListener
-
-
-
-
Method Detail
-
getMaxAudioRecvBandwidth
int getMaxAudioRecvBandwidth()
Get Maximum inbound bitrate requested by this endpoint. Signaled to compatible WebRTC and RTP senders as part of Kurento's REMB bandwidth estimations, and also as an SDP bitrate attribute (b=AS:{value}
, see RFC 8866 Section 5.8. Bandwidth Information) in sendrecv and recvonly SDP Offers.- Unit: kbps (kilobits per second).
- Default: 0 (unlimited).
-
getMaxAudioRecvBandwidth
void getMaxAudioRecvBandwidth(Continuation<Integer> cont)
Get Maximum inbound bitrate requested by this endpoint. Signaled to compatible WebRTC and RTP senders as part of Kurento's REMB bandwidth estimations, and also as an SDP bitrate attribute (b=AS:{value}
, see RFC 8866 Section 5.8. Bandwidth Information) in sendrecv and recvonly SDP Offers.- Unit: kbps (kilobits per second).
- Default: 0 (unlimited).
-
getMaxAudioRecvBandwidth
TFuture<Integer> getMaxAudioRecvBandwidth(Transaction tx)
Get Maximum inbound bitrate requested by this endpoint. Signaled to compatible WebRTC and RTP senders as part of Kurento's REMB bandwidth estimations, and also as an SDP bitrate attribute (b=AS:{value}
, see RFC 8866 Section 5.8. Bandwidth Information) in sendrecv and recvonly SDP Offers.- Unit: kbps (kilobits per second).
- Default: 0 (unlimited).
-
setMaxAudioRecvBandwidth
void setMaxAudioRecvBandwidth(int maxAudioRecvBandwidth)
Set Maximum inbound bitrate requested by this endpoint. Signaled to compatible WebRTC and RTP senders as part of Kurento's REMB bandwidth estimations, and also as an SDP bitrate attribute (b=AS:{value}
, see RFC 8866 Section 5.8. Bandwidth Information) in sendrecv and recvonly SDP Offers.- Unit: kbps (kilobits per second).
- Default: 0 (unlimited).
-
setMaxAudioRecvBandwidth
void setMaxAudioRecvBandwidth(int maxAudioRecvBandwidth, Continuation<Void> cont)
Set Maximum inbound bitrate requested by this endpoint. Signaled to compatible WebRTC and RTP senders as part of Kurento's REMB bandwidth estimations, and also as an SDP bitrate attribute (b=AS:{value}
, see RFC 8866 Section 5.8. Bandwidth Information) in sendrecv and recvonly SDP Offers.- Unit: kbps (kilobits per second).
- Default: 0 (unlimited).
-
setMaxAudioRecvBandwidth
void setMaxAudioRecvBandwidth(int maxAudioRecvBandwidth, Transaction tx)
Set Maximum inbound bitrate requested by this endpoint. Signaled to compatible WebRTC and RTP senders as part of Kurento's REMB bandwidth estimations, and also as an SDP bitrate attribute (b=AS:{value}
, see RFC 8866 Section 5.8. Bandwidth Information) in sendrecv and recvonly SDP Offers.- Unit: kbps (kilobits per second).
- Default: 0 (unlimited).
-
getMaxVideoRecvBandwidth
int getMaxVideoRecvBandwidth()
Get Maximum inbound bitrate requested by this endpoint. Signaled to compatible WebRTC and RTP senders as part of Kurento's REMB bandwidth estimations, and also as an SDP bitrate attribute (b=AS:{value}
, see RFC 8866 Section 5.8. Bandwidth Information) in sendrecv and recvonly SDP Offers.- Unit: kbps (kilobits per second).
- Default: 0 (unlimited).
-
getMaxVideoRecvBandwidth
void getMaxVideoRecvBandwidth(Continuation<Integer> cont)
Get Maximum inbound bitrate requested by this endpoint. Signaled to compatible WebRTC and RTP senders as part of Kurento's REMB bandwidth estimations, and also as an SDP bitrate attribute (b=AS:{value}
, see RFC 8866 Section 5.8. Bandwidth Information) in sendrecv and recvonly SDP Offers.- Unit: kbps (kilobits per second).
- Default: 0 (unlimited).
-
getMaxVideoRecvBandwidth
TFuture<Integer> getMaxVideoRecvBandwidth(Transaction tx)
Get Maximum inbound bitrate requested by this endpoint. Signaled to compatible WebRTC and RTP senders as part of Kurento's REMB bandwidth estimations, and also as an SDP bitrate attribute (b=AS:{value}
, see RFC 8866 Section 5.8. Bandwidth Information) in sendrecv and recvonly SDP Offers.- Unit: kbps (kilobits per second).
- Default: 0 (unlimited).
-
setMaxVideoRecvBandwidth
void setMaxVideoRecvBandwidth(int maxVideoRecvBandwidth)
Set Maximum inbound bitrate requested by this endpoint. Signaled to compatible WebRTC and RTP senders as part of Kurento's REMB bandwidth estimations, and also as an SDP bitrate attribute (b=AS:{value}
, see RFC 8866 Section 5.8. Bandwidth Information) in sendrecv and recvonly SDP Offers.- Unit: kbps (kilobits per second).
- Default: 0 (unlimited).
-
setMaxVideoRecvBandwidth
void setMaxVideoRecvBandwidth(int maxVideoRecvBandwidth, Continuation<Void> cont)
Set Maximum inbound bitrate requested by this endpoint. Signaled to compatible WebRTC and RTP senders as part of Kurento's REMB bandwidth estimations, and also as an SDP bitrate attribute (b=AS:{value}
, see RFC 8866 Section 5.8. Bandwidth Information) in sendrecv and recvonly SDP Offers.- Unit: kbps (kilobits per second).
- Default: 0 (unlimited).
-
setMaxVideoRecvBandwidth
void setMaxVideoRecvBandwidth(int maxVideoRecvBandwidth, Transaction tx)
Set Maximum inbound bitrate requested by this endpoint. Signaled to compatible WebRTC and RTP senders as part of Kurento's REMB bandwidth estimations, and also as an SDP bitrate attribute (b=AS:{value}
, see RFC 8866 Section 5.8. Bandwidth Information) in sendrecv and recvonly SDP Offers.- Unit: kbps (kilobits per second).
- Default: 0 (unlimited).
-
generateOffer
String generateOffer(OfferOptions options)
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:
options
- AnOfferOptions
providing options requested for the offer.- Returns:
- The SDP offer. *
-
generateOffer
void generateOffer(OfferOptions options, Continuation<String> cont)
Asynchronous version of generateOffer:Continuation.onSuccess(F)
is called when the action is done. If an error occurs,Continuation.onError(java.lang.Throwable)
is called.- Parameters:
options
- AnOfferOptions
providing options requested for the offer.- See Also:
generateOffer(org.kurento.client.OfferOptions)
-
generateOffer
TFuture<String> generateOffer(Transaction tx, OfferOptions options)
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:
options
- AnOfferOptions
providing options requested for the offer.- Returns:
- The SDP offer. *
-
processOffer
String processOffer(String offer)
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:
offer
- SessionSpec offer from the remote User Agent- Returns:
- The chosen configuration from the ones stated in the SDP offer. *
-
processOffer
void processOffer(String offer, Continuation<String> cont)
Asynchronous version of processOffer:Continuation.onSuccess(F)
is called when the action is done. If an error occurs,Continuation.onError(java.lang.Throwable)
is called.- Parameters:
offer
- SessionSpec offer from the remote User Agent- See Also:
processOffer(java.lang.String)
-
processOffer
TFuture<String> processOffer(Transaction tx, String offer)
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:
offer
- SessionSpec offer from the remote User Agent- Returns:
- The chosen configuration from the ones stated in the SDP offer. *
-
processAnswer
String processAnswer(String answer)
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 is 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:
answer
- SessionSpec answer from the remote User Agent- Returns:
- Updated SDP offer, based on the answer received. *
-
processAnswer
void processAnswer(String answer, Continuation<String> cont)
Asynchronous version of processAnswer:Continuation.onSuccess(F)
is called when the action is done. If an error occurs,Continuation.onError(java.lang.Throwable)
is called.- Parameters:
answer
- SessionSpec answer from the remote User Agent- See Also:
processAnswer(java.lang.String)
-
processAnswer
TFuture<String> processAnswer(Transaction tx, String answer)
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 is 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:
answer
- SessionSpec answer from the remote User Agent- Returns:
- Updated SDP offer, based on the answer received. *
-
getLocalSessionDescriptor
String getLocalSessionDescriptor()
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.
- Returns:
- The last agreed SessionSpec. *
-
getLocalSessionDescriptor
void getLocalSessionDescriptor(Continuation<String> cont)
Asynchronous version of getLocalSessionDescriptor:Continuation.onSuccess(F)
is called when the action is done. If an error occurs,Continuation.onError(java.lang.Throwable)
is called.- See Also:
getLocalSessionDescriptor()
-
getLocalSessionDescriptor
TFuture<String> getLocalSessionDescriptor(Transaction tx)
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.
- Returns:
- The last agreed SessionSpec. *
-
getRemoteSessionDescriptor
String getRemoteSessionDescriptor()
This method returns the remote SDP. If the negotiation process is not complete, it will return NULL.- Returns:
- The last agreed User Agent session description. *
-
getRemoteSessionDescriptor
void getRemoteSessionDescriptor(Continuation<String> cont)
Asynchronous version of getRemoteSessionDescriptor:Continuation.onSuccess(F)
is called when the action is done. If an error occurs,Continuation.onError(java.lang.Throwable)
is called.- See Also:
getRemoteSessionDescriptor()
-
getRemoteSessionDescriptor
TFuture<String> getRemoteSessionDescriptor(Transaction tx)
This method returns the remote SDP. If the negotiation process is not complete, it will return NULL.- Returns:
- The last agreed User Agent session description. *
-
generateOffer
String generateOffer()
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.
- Returns:
- The SDP offer. *
-
generateOffer
void generateOffer(Continuation<String> cont)
Asynchronous version of generateOffer:Continuation.onSuccess(F)
is called when the action is done. If an error occurs,Continuation.onError(java.lang.Throwable)
is called.
-
generateOffer
TFuture<String> generateOffer(Transaction tx)
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.
- Returns:
- The SDP offer. *
-
-