RTCRtpTransceiver

The WebRTC interface RTCRtpTransceiver describes a permanent pairing of an RTCRtpSender and an RTCRtpReceiver, along with some shared state.

Each SDP media section describes one bidirectional SRTP ("Secure Real Time Protocol") stream (excepting the media section for RTCDataChannel, if present). This pairing of send and receive SRTP streams is significant for some applications, so RTCRtpTransceiver is used to represent this pairing, along with other important state from the media section. Each non-disabled SRTP media section is always represented by exactly one transceiver.

A transceiver is uniquely identified using its mid property, which is the same as the media ID (mid) of its corresponding m-line. An RTCRtpTransceiver is associated with an m-line if its mid is non-null; otherwise it's considered disassociated.

Properties

currentDirection Read only
A string from the enum RTCRtpTransceiverDirection which indicates the transceiver's current directionality, or null if the transceiver is stopped or has never participated in an exchange of offers and answers.
direction
A string from the enum RTCRtpTransceiverDirection which is used to set the transceiver's desired direction.
mid Read only
The media ID of the m-line associated with this transceiver. This association is established, when possible, whenever either a local or remote description is applied. This field is null if neither a local or remote description has been applied, or if its associated m-line is rejected by either a remote offer or any answer.
receiver Read only
The RTCRtpReceiver object that handles receiving and decoding incoming media.
sender Read only
The RTCRtpSender object responsible for encoding and sending data to the remote peer.
stopped
Indicates whether or not sending and receiving using the paired RTCRtpSender and RTCRtpReceiver has been permanently disabled, either due to SDP offer/answer, or due to a call to stop().

Methods

setCodecPreferences()
A list of RTCRtpCodecParameters objects which override the default preferences used by the user agent for the transceiver's codecs.
stop()
Permanently stops the RTCRtpTransceiver. The associated sender stops sending data, and the associated receiver likewise stops receiving and decoding incoming data.

Specifications

Specification Status Comment
WebRTC 1.0: Real-time Communication Between Browsers
The definition of 'RTCRtpTransceiver' in that specification.
Candidate Recommendation

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
RTCRtpTransceiverChrome Full support 69Edge Full support ≤18Firefox Full support 59IE No support NoOpera No support NoSafari Full support YesWebView Android Full support 69Chrome Android Full support 69Firefox Android Full support 59Opera Android No support NoSafari iOS Full support YesSamsung Internet Android Full support 10.0
currentDirectionChrome Full support 69Edge No support NoFirefox Full support 59IE No support NoOpera No support NoSafari ? WebView Android Full support 69Chrome Android Full support 69Firefox Android Full support 59Opera Android No support NoSafari iOS ? Samsung Internet Android Full support 10.0
directionChrome Full support 69Edge No support NoFirefox Full support 59IE No support NoOpera No support NoSafari Full support YesWebView Android Full support 69Chrome Android Full support 69Firefox Android Full support 59Opera Android No support NoSafari iOS Full support YesSamsung Internet Android Full support 10.0
midChrome Full support 69Edge No support NoFirefox Full support 59IE No support NoOpera No support NoSafari Full support YesWebView Android Full support 69Chrome Android Full support 69Firefox Android Full support 59Opera Android No support NoSafari iOS Full support YesSamsung Internet Android Full support 10.0
receiverChrome Full support 69Edge No support NoFirefox Full support 59IE No support NoOpera No support NoSafari Full support YesWebView Android Full support 69Chrome Android Full support 69Firefox Android Full support 59Opera Android No support NoSafari iOS Full support YesSamsung Internet Android Full support 10.0
senderChrome Full support 69Edge No support NoFirefox Full support 59IE No support NoOpera No support NoSafari Full support YesWebView Android Full support 69Chrome Android Full support 69Firefox Android Full support 59Opera Android No support NoSafari iOS Full support YesSamsung Internet Android Full support 10.0
setCodecPreferences()Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari ? WebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS ? Samsung Internet Android No support No
stop()Chrome No support NoEdge No support NoFirefox Full support 59IE No support NoOpera No support NoSafari Full support YesWebView Android No support NoChrome Android No support NoFirefox Android Full support 59Opera Android No support NoSafari iOS Full support YesSamsung Internet Android No support No
stopped
Deprecated
Chrome Full support 69Edge No support NoFirefox Full support 59IE No support NoOpera No support NoSafari Full support YesWebView Android Full support 69Chrome Android Full support 69Firefox Android Full support 59Opera Android No support NoSafari iOS Full support YesSamsung Internet Android Full support 10.0

Legend

Full support
Full support
No support
No support
Compatibility unknown
Compatibility unknown
Deprecated. Not for use in new websites.
Deprecated. Not for use in new websites.

See also