RTCSessionDescription
The RTCSessionDescription
interface describes one end of a connection—or potential connection—and how it's configured. Each RTCSessionDescription
consists of a description type
indicating which part of the offer/answer negotiation process it describes and of the SDP descriptor of the session.
The process of negotiating a connection between two peers involves exchanging RTCSessionDescription
objects back and forth, with each description suggesting one combination of connection configuration options that the sender of the description supports. Once the two peers agree upon a configuration for the connection, negotiation is complete.
Instance properties
The RTCSessionDescription
interface doesn't inherit any properties.
RTCSessionDescription.type
Read only-
An enum describing the session description's type.
RTCSessionDescription.sdp
Read only-
A string containing the SDP describing the session.
Instance methods
The RTCSessionDescription
doesn't inherit any methods.
RTCSessionDescription()
Deprecated-
This constructor returns a new
RTCSessionDescription
. The parameter is aRTCSessionDescriptionInit
dictionary containing the values to assign the two properties. RTCSessionDescription.toJSON()
-
Returns a JSON description of the object. The values of both properties,
type
andsdp
, are contained in the generated JSON.
Example
js
signalingChannel.onmessage = (evt) => {
if (!pc) start(false);
const message = JSON.parse(evt.data);
if (message.sdp) {
pc.setRemoteDescription(
new RTCSessionDescription(message),
() => {
// if we received an offer, we need to answer
if (pc.remoteDescription.type === "offer") {
pc.createAnswer(localDescCreated, logError);
}
},
logError
);
} else {
pc.addIceCandidate(
new RTCIceCandidate(message.candidate),
() => {},
logError
);
}
};
Specifications
Specification |
---|
WebRTC: Real-Time Communication in Browsers # rtcsessiondescription-class |
Browser compatibility
BCD tables only load in the browser