WebRTCBaseline · Widely available
The WebRTC API establishes real-time communication channels directly between browsers. It is commonly used in video conferencing applications.
Supported in all major browsers for at least 30 months — safe to use without fallbacks. Baseline since Jan 15, 2020. Widely available since Jul 15, 2022.
Browser support
DesktopChrome
1–55Not supported
56+Supportedsince Jan 25, 2017
Current: 155Edge
12–18Not supported
79+Supportedsince Jan 15, 2020
Current: 154Firefox
1–21Not supported
22+Supportedsince Jun 25, 2013
Current: 157Safari
1–10.1Not supported
11+Supportedsince Sep 19, 2017
Current: 27MobileChrome Android
18–55Not supported
56+Supportedsince Feb 1, 2017
Current: 155Firefox Android
4–23Not supported
24+Supportedsince Sep 17, 2013
Current: 157Safari iOS
1–10.3Not supported
11+Supportedsince Sep 19, 2017
Current: 27How to use
This feature is Baseline widely available — use it freely, no fallback needed.
Example
Full syntax and examples are on MDN: RTCCertificate.
Feature detection
JS · check before using
if ("RTCCertificate" in globalThis) {
// RTCCertificate is available
} else {
// load a polyfill or use a fallback
}Documentation (MDN)
Specification
Usage share
Sub-features
Support for each part of the feature (225). The overall table above shows when the whole feature works.
| Sub-feature | Chrome | Edge | Firefox | Safari | Chrome Android | Firefox Android | Safari iOS |
|---|---|---|---|---|---|---|---|
| RTCCertificate | 49 | 79 | 42 | 12.1 | 49 | 42 | 12.2 |
| RTCCertificate.expires | 49 | 79 | 42 | 12.1 | 49 | 42 | 12.2 |
| RTCCertificate.getFingerprints | 61 | 79 | 138 | 12.1 | 61 | 138 | 12.2 |
| RTCDTMFSender | 27 | 79 | 52 | 13.1 | 27 | 52 | 13.4 |
| RTCDTMFSender.canInsertDTMF | 27 | 79 | 129 | 13.1 | 27 | 129 | 13.4 |
| RTCDTMFSender.insertDTMF | 27 | 79 | 52 | 13.1 | 27 | 52 | 13.4 |
| RTCDTMFSender.toneBuffer | 27 | 79 | 52 | 13.1 | 27 | 52 | 13.4 |
| RTCDTMFSender.tonechange_event | 27 | 79 | 52 | 13.1 | 27 | 52 | 13.4 |
| RTCDTMFToneChangeEvent | 27 | 12 | 52 | 13.1 | 27 | 52 | 13.4 |
| RTCDTMFToneChangeEvent.RTCDTMFToneChangeEvent | 27 | 13 | 52 | 13.1 | 27 | 52 | 13.4 |
| RTCDTMFToneChangeEvent.tone | 27 | 12 | 52 | 13.1 | 27 | 52 | 13.4 |
| RTCDataChannel | 24 | 79 | 22 | 11 | 25 | 24 | 11 |
| RTCDataChannel.binaryType | 24 | 79 | 22 | 11 | 25 | 24 | 11 |
| RTCDataChannel.binaryType.arraybuffer_value | 24 | 79 | 22 | 11 | 25 | 24 | 11 |
| RTCDataChannel.binaryType.blob_value | 129 | 129 | 22 | 11 | 129 | 24 | 11 |
| RTCDataChannel.bufferedAmount | 24 | 79 | 22 | 11 | 25 | 24 | 11 |
| RTCDataChannel.bufferedAmountLowThreshold | 46 | 79 | 44 | 11 | 46 | 44 | 11 |
| RTCDataChannel.bufferedamountlow_event | 57 | 79 | 44 | 11 | 57 | 44 | 11 |
| RTCDataChannel.close | 24 | 79 | 22 | 11 | 25 | 24 | 11 |
| RTCDataChannel.close_event | 24 | 79 | 22 | 11 | 25 | 24 | 11 |
Show 205 more
| Sub-feature | Chrome | Edge | Firefox | Safari | Chrome Android | Firefox Android | Safari iOS |
|---|---|---|---|---|---|---|---|
| RTCDataChannel.closing_event | 81 | 81 | 144 | 15.4 | 81 | 144 | 15.4 |
| RTCDataChannel.error_event | 24 | 79 | 22 | 11 | 25 | 24 | 11 |
| RTCDataChannel.id | 30 | 79 | 22 | 11 | 30 | 24 | 11 |
| RTCDataChannel.label | 24 | 79 | 22 | 11 | 25 | 24 | 11 |
| RTCDataChannel.maxPacketLifeTime | 56 | 79 | 62 | 11 | 56 | 62 | 11 |
| RTCDataChannel.maxRetransmits | 30 | 79 | 62 | 11 | 30 | 62 | 11 |
| RTCDataChannel.message_event | 24 | 79 | 22 | 11 | 25 | 24 | 11 |
| RTCDataChannel.negotiated | 30 | 79 | 68 | 11 | 30 | 68 | 11 |
| RTCDataChannel.open_event | 24 | 79 | 22 | 11 | 25 | 24 | 11 |
| RTCDataChannel.ordered | 30 | 79 | 22 | 11 | 30 | 24 | 11 |
| RTCDataChannel.protocol | 30 | 79 | 22 | 11 | 30 | 24 | 11 |
| RTCDataChannel.readyState | 24 | 79 | 22 | 11 | 25 | 24 | 11 |
| RTCDataChannel.sctp_sdp_21 | 58 | 79 | 63 | ✕ | 58 | 63 | ✕ |
| RTCDataChannel.send | 24 | 79 | 22 | 11 | 25 | 24 | 11 |
| RTCDataChannel.transferable | 130 | 130 | 144 | 15 | 130 | 144 | 15 |
| RTCDataChannelEvent | 24 | 79 | 22 | 11 | 25 | 24 | 11 |
| RTCDataChannelEvent.RTCDataChannelEvent | 56 | 79 | 22 | 11 | 56 | 24 | 11 |
| RTCDataChannelEvent.channel | 24 | 79 | 22 | 11 | 25 | 24 | 11 |
| RTCDtlsTransport | 72 | 12 | 82 | 15.4 | 72 | 82 | 15.4 |
| RTCDtlsTransport.error_event | 72 | 12 | 154 | 15.4 | 72 | 154 | 15.4 |
| RTCDtlsTransport.getRemoteCertificates | 72 | 12 | 153 | 15.4 | 72 | 153 | 15.4 |
| RTCDtlsTransport.iceTransport | 72 | 79 | 125 | 15.4 | 72 | 125 | 15.4 |
| RTCDtlsTransport.state | 72 | 12 | 82 | 15.4 | 72 | 82 | 15.4 |
| RTCDtlsTransport.statechange_event | 72 | 79 | 82 | 15.4 | 72 | 82 | 15.4 |
| RTCError | 74 | 79 | 150 | 15.4 | 74 | 150 | 15.4 |
| RTCError.RTCError | 74 | 79 | 150 | 15.4 | 74 | 150 | 15.4 |
| RTCError.errorDetail | 74 | 79 | 150 | 15.4 | 74 | 150 | 15.4 |
| RTCError.receivedAlert | 74 | 79 | 150 | 15.4 | 74 | 150 | 15.4 |
| RTCError.sctpCauseCode | 74 | 79 | 150 | 15.4 | 74 | 150 | 15.4 |
| RTCError.sdpLineNumber | 74 | 79 | 150 | 15.4 | 74 | 150 | 15.4 |
| RTCError.sentAlert | 74 | 79 | 150 | 15.4 | 74 | 150 | 15.4 |
| RTCErrorEvent | 74 | 79 | 150 | 15.4 | 74 | 150 | 15.4 |
| RTCErrorEvent.RTCErrorEvent | 74 | 79 | 150 | 15.4 | 74 | 150 | 15.4 |
| RTCErrorEvent.error | 74 | 79 | 150 | 15.4 | 74 | 150 | 15.4 |
| RTCIceCandidate | 23 | 15 | 44 | 11 | 25 | 44 | 11 |
| RTCIceCandidate.RTCIceCandidate | 23 | 15 | 44 | 11 | 25 | 44 | 11 |
| RTCIceCandidate.address | 74 | 79 | 126 | 14.1 | 74 | 126 | 14.5 |
| RTCIceCandidate.candidate | 23 | 15 | 44 | 11 | 25 | 44 | 11 |
| RTCIceCandidate.component | 74 | 79 | 126 | 14.1 | 74 | 126 | 14.5 |
| RTCIceCandidate.foundation | 74 | 79 | 126 | 14.1 | 74 | 126 | 14.5 |
| RTCIceCandidate.port | 74 | 79 | 126 | 14.1 | 74 | 126 | 14.5 |
| RTCIceCandidate.priority | 74 | 79 | 126 | 14.1 | 74 | 126 | 14.5 |
| RTCIceCandidate.protocol | 74 | 79 | 126 | 14.1 | 74 | 126 | 14.5 |
| RTCIceCandidate.relatedAddress | 74 | 79 | 126 | 14.1 | 74 | 126 | 14.5 |
| RTCIceCandidate.relatedPort | 74 | 79 | 126 | 14.1 | 74 | 126 | 14.5 |
| RTCIceCandidate.relayProtocol | 124 | 124 | ✕ | ✕ | 124 | ✕ | ✕ |
| RTCIceCandidate.sdpMLineIndex | 23 | 15 | 44 | 11 | 25 | 44 | 11 |
| RTCIceCandidate.sdpMid | 23 | 15 | 44 | 11 | 25 | 44 | 11 |
| RTCIceCandidate.tcpType | 74 | 79 | 126 | 14.1 | 74 | 126 | 14.5 |
| RTCIceCandidate.toJSON | 43 | 15 | 44 | 11 | 43 | 44 | 11 |
| RTCIceCandidate.type | 74 | 79 | 126 | 14.1 | 74 | 126 | 14.5 |
| RTCIceCandidate.url | 124 | 124 | ✕ | ✕ | 124 | ✕ | ✕ |
| RTCIceCandidate.usernameFragment | 74 | 79 | 67 | 14.1 | 74 | 67 | 14.5 |
| RTCIceTransport | 75 | 13 | 125 | 11 | 75 | 125 | 11 |
| RTCIceTransport.gatheringState | 75 | 79 | 125 | 11 | 75 | 125 | 11 |
| RTCIceTransport.gatheringstatechange_event | 75 | 79 | 125 | 15.4 | 75 | 125 | 15.4 |
| RTCIceTransport.getLocalCandidates | 75 | 79 | ✕ | ✕ | 75 | ✕ | ✕ |
| RTCIceTransport.getLocalParameters | 75 | 79 | ✕ | ✕ | 75 | ✕ | ✕ |
| RTCIceTransport.getRemoteCandidates | 75 | 13 | ✕ | ✕ | 75 | ✕ | ✕ |
| RTCIceTransport.getRemoteParameters | 75 | 13 | ✕ | ✕ | 75 | ✕ | ✕ |
| RTCIceTransport.getSelectedCandidatePair | 75 | 79 | 154 | 16.4 | 75 | 154 | 16.4 |
| RTCIceTransport.role | 75 | 13 | 150 | ✕ | 75 | 150 | ✕ |
| RTCIceTransport.selectedcandidatepairchange_event | 75 | 79 | 154 | 16.4 | 75 | 154 | 16.4 |
| RTCIceTransport.state | 75 | 13 | 125 | 11 | 75 | 125 | 11 |
| RTCIceTransport.statechange_event | 75 | 79 | 125 | 15.4 | 75 | 125 | 15.4 |
| RTCPeerConnection | 56 | 15 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.RTCPeerConnection | 56 | 15 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.RTCPeerConnection.configuration_bundlePolicy_parameter | 56 | 79 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.RTCPeerConnection.configuration_certificates_parameter | 56 | 79 | 44 | 12.1 | 56 | 44 | 12.2 |
| RTCPeerConnection.RTCPeerConnection.configuration_iceCandidatePoolSize_parameter | 59 | 79 | ✕ | 11 | 59 | ✕ | 11 |
| RTCPeerConnection.RTCPeerConnection.configuration_iceServers_parameter | 56 | 79 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.RTCPeerConnection.configuration_iceServers_parameter.credential_parameter | 56 | 79 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.RTCPeerConnection.configuration_iceServers_parameter.urls_parameter | 56 | 79 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.RTCPeerConnection.configuration_iceServers_parameter.username_parameter | 56 | 79 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.RTCPeerConnection.configuration_iceTransportPolicy_parameter | 56 | 79 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.RTCPeerConnection.configuration_peerIdentity_parameter | ✕ | ✕ | 44 | ✕ | ✕ | 44 | ✕ |
| RTCPeerConnection.RTCPeerConnection.configuration_rtcpMuxPolicy_parameter | 57 | 79 | 152 | 12.1 | 57 | 152 | 12.2 |
| RTCPeerConnection.addIceCandidate | 56 | 15 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.addIceCandidate.returns_promise | 56 | 79 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.addTrack | 64 | 79 | 44 | 11 | 64 | 44 | 11 |
| RTCPeerConnection.addTransceiver | 69 | 79 | 59 | 11 | 69 | 59 | 11 |
| RTCPeerConnection.addTransceiver.init_direction_parameter | 69 | 79 | 59 | 11 | 69 | 59 | 11 |
| RTCPeerConnection.addTransceiver.init_sendEncodings_parameter | 69 | 79 | 110 | 14.1 | 69 | 110 | 14.5 |
| RTCPeerConnection.addTransceiver.init_streams_parameter | 69 | 79 | 59 | 12.1 | 69 | 59 | 12.2 |
| RTCPeerConnection.canTrickleIceCandidates | 83 | 83 | 47 | 15.4 | 83 | 47 | 15.4 |
| RTCPeerConnection.close | 56 | 15 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.connectionState | 72 | 79 | 113 | 11 | 72 | 113 | 11 |
| RTCPeerConnection.connectionstatechange_event | 72 | 79 | 113 | 11 | 72 | 113 | 11 |
| RTCPeerConnection.createAnswer | 56 | 15 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.createAnswer.returns_promise | 56 | 79 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.createDataChannel | 56 | 79 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.createOffer | 56 | 15 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.createOffer.returns_promise | 56 | 79 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.currentLocalDescription | 70 | 79 | 44 | 11 | 70 | 44 | 11 |
| RTCPeerConnection.currentRemoteDescription | 70 | 79 | 57 | 11 | 70 | 57 | 11 |
| RTCPeerConnection.datachannel_event | 56 | 79 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.generateCertificate_static | 56 | 79 | 44 | 12.1 | 56 | 44 | 12.2 |
| RTCPeerConnection.getConfiguration | 70 | 15 | 44 | 11 | 70 | 44 | 11 |
| RTCPeerConnection.getReceivers | 59 | 79 | 44 | 11 | 59 | 44 | 11 |
| RTCPeerConnection.getReceivers.stopped_transceivers_removed | 88 | 88 | 118 | ✕ | 88 | 118 | ✕ |
| RTCPeerConnection.getSenders | 64 | 79 | 44 | 11 | 64 | 44 | 11 |
| RTCPeerConnection.getSenders.stopped_transceivers_removed | 88 | 88 | 118 | ✕ | 88 | 118 | ✕ |
| RTCPeerConnection.getTransceivers | 69 | 79 | 59 | 11 | 69 | 59 | 11 |
| RTCPeerConnection.getTransceivers.stopped_transceivers_removed | 88 | 88 | 118 | ✕ | 88 | 118 | ✕ |
| RTCPeerConnection.iceConnectionState | 56 | 15 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.iceGatheringState | 56 | 15 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.icecandidate_event | 56 | 15 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.icecandidateerror_event | 77 | 79 | 150 | 14.1 | 77 | 150 | 14.5 |
| RTCPeerConnection.iceconnectionstatechange_event | 56 | 15 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.icegatheringstatechange_event | 59 | 15 | 44 | 11 | 59 | 44 | 11 |
| RTCPeerConnection.localDescription | 56 | 15 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.negotiationneeded_event | 56 | 15 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.pendingLocalDescription | 70 | 79 | 44 | 11 | 70 | 44 | 11 |
| RTCPeerConnection.pendingRemoteDescription | 70 | 79 | 44 | 11 | 70 | 44 | 11 |
| RTCPeerConnection.remoteDescription | 56 | 15 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.removeTrack | 64 | 79 | 44 | 11 | 64 | 44 | 11 |
| RTCPeerConnection.restartIce | 77 | 79 | 70 | 14.1 | 77 | 79 | 14.5 |
| RTCPeerConnection.setConfiguration | 56 | 79 | 99 | 11 | 56 | 99 | 11 |
| RTCPeerConnection.setLocalDescription | 56 | 15 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.setLocalDescription.description_parameter_optional | 80 | 80 | 75 | 14.1 | 80 | 79 | 14.5 |
| RTCPeerConnection.setLocalDescription.returns_promise | 56 | 79 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.setRemoteDescription | 56 | 15 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.setRemoteDescription.implicit_rollback | 80 | 80 | 70 | 15.4 | 80 | 79 | 15.4 |
| RTCPeerConnection.setRemoteDescription.returns_promise | 56 | 79 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.signalingState | 56 | 15 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.signalingstatechange_event | 56 | 15 | 44 | 11 | 56 | 44 | 11 |
| RTCPeerConnection.track_event | 64 | 79 | 44 | 11 | 64 | 44 | 11 |
| RTCPeerConnectionIceErrorEvent | 77 | 79 | 150 | 14.1 | 77 | 150 | 14.5 |
| RTCPeerConnectionIceErrorEvent.RTCPeerConnectionIceErrorEvent | 77 | 79 | 150 | 14.1 | 77 | 150 | 14.5 |
| RTCPeerConnectionIceErrorEvent.address | 81 | 81 | 150 | 14.1 | 81 | 150 | 14.5 |
| RTCPeerConnectionIceErrorEvent.errorCode | 77 | 79 | 150 | 14.1 | 77 | 150 | 14.5 |
| RTCPeerConnectionIceErrorEvent.errorText | 77 | 79 | 150 | 14.1 | 77 | 150 | 14.5 |
| RTCPeerConnectionIceErrorEvent.port | 81 | 81 | 150 | 14.1 | 81 | 150 | 14.5 |
| RTCPeerConnectionIceErrorEvent.url | 77 | 79 | 150 | 14.1 | 77 | 150 | 14.5 |
| RTCPeerConnectionIceEvent | 56 | 15 | 24 | 12 | 56 | 24 | 12 |
| RTCPeerConnectionIceEvent.RTCPeerConnectionIceEvent | 56 | 15 | 24 | 12 | 56 | 24 | 12 |
| RTCPeerConnectionIceEvent.candidate | 56 | 15 | 24 | 12 | 56 | 24 | 12 |
| RTCRtpReceiver | 59 | 12 | 34 | 11 | 59 | 34 | 11 |
| RTCRtpReceiver.createEncodedStreams | 86 | 86 | ✕ | ✕ | 86 | ✕ | ✕ |
| RTCRtpReceiver.getCapabilities_static | 59 | 12 | 113 | 12.1 | 59 | 113 | 12.2 |
| RTCRtpReceiver.getContributingSources | 59 | 12 | 59 | 12.1 | 59 | 59 | 12.2 |
| RTCRtpReceiver.getContributingSources.audioLevel | 73 | 79 | 59 | 12.1 | 73 | 59 | 12.2 |
| RTCRtpReceiver.getContributingSources.audio_tracks_supported | 59 | 12 | 59 | 12.1 | 59 | 59 | 12.2 |
| RTCRtpReceiver.getContributingSources.rtpTimestamp | 76 | 79 | 72 | ✕ | 76 | 79 | ✕ |
| RTCRtpReceiver.getContributingSources.source | 59 | 79 | 59 | 12.1 | 59 | 59 | 12.2 |
| RTCRtpReceiver.getContributingSources.timestamp | 59 | 79 | 59 | 12.1 | 59 | 59 | 12.2 |
| RTCRtpReceiver.getContributingSources.video_tracks_supported | 73 | 79 | 68 | 12.1 | 73 | 68 | 12.2 |
| RTCRtpReceiver.getParameters | 59 | 79 | 128 | 11 | 59 | 128 | 11 |
| RTCRtpReceiver.getParameters.return_object_property_codecs | 69 | 79 | 128 | 11 | 69 | 128 | 11 |
| RTCRtpReceiver.getParameters.return_object_property_headerExtensions | 69 | 79 | ✕ | 11 | 69 | ✕ | 11 |
| RTCRtpReceiver.getParameters.return_object_property_rtcp | 69 | 79 | 154 | 15 | 69 | 154 | 15 |
| RTCRtpReceiver.getSynchronizationSources | 73 | 79 | 59 | 12.1 | 73 | 59 | 12.2 |
| RTCRtpReceiver.getSynchronizationSources.audio_tracks_supported | 73 | 79 | 59 | 12.1 | 73 | 59 | 12.2 |
| RTCRtpReceiver.getSynchronizationSources.video_tracks_supported | 73 | 79 | 68 | 12.1 | 73 | 68 | 12.2 |
| RTCRtpReceiver.jitterBufferTarget | 124 | 124 | 115 | 27 | 124 | 115 | 27 |
| RTCRtpReceiver.track | 59 | 12 | 34 | 11 | 59 | 34 | 11 |
| RTCRtpReceiver.transport | 59 | 12 | 82 | 15.4 | 59 | 82 | 15.4 |
| RTCRtpSender | 64 | 13 | 34 | 11 | 64 | 34 | 11 |
| RTCRtpSender.createEncodedStreams | 86 | 86 | ✕ | ✕ | 86 | ✕ | ✕ |
| RTCRtpSender.dtmf | 66 | 79 | 52 | 13.1 | 66 | 52 | 13.4 |
| RTCRtpSender.getCapabilities_static | 69 | 13 | 113 | 12.1 | 69 | 113 | 12.2 |
| RTCRtpSender.getParameters | 68 | 79 | 46 | 11 | 68 | 46 | 11 |
| RTCRtpSender.getParameters.return_object_property_codecs | 69 | 79 | 128 | 11 | 69 | 128 | 11 |
| RTCRtpSender.getParameters.return_object_property_encodings | 69 | 79 | 46 | 12.1 | 69 | 46 | 12.2 |
| RTCRtpSender.getParameters.return_object_property_headerExtensions | 69 | 79 | ✕ | 11 | 69 | ✕ | 11 |
| RTCRtpSender.getParameters.return_object_property_rtcp | 69 | 79 | 154 | 15 | 69 | 154 | 15 |
| RTCRtpSender.getParameters.return_object_property_transactionId | 69 | 79 | 110 | 12.1 | 69 | 110 | 12.2 |
| RTCRtpSender.replaceTrack | 65 | 79 | 34 | 11 | 65 | 34 | 11 |
| RTCRtpSender.setParameters | 68 | 79 | 64 | 11 | 68 | 64 | 11 |
| RTCRtpSender.setParameters.parameters_codecs_parameter | 69 | 79 | 128 | 12.1 | 69 | 128 | 12.2 |
| RTCRtpSender.setParameters.parameters_encodings_parameter | 69 | 79 | 64 | 11 | 69 | 64 | 11 |
| RTCRtpSender.setParameters.parameters_encodings_parameter.active | 69 | 79 | 110 | 11.1 | 69 | 110 | 11.3 |
| RTCRtpSender.setParameters.parameters_encodings_parameter.maxBitrate | 69 | 79 | 64 | 11 | 69 | 64 | 11 |
| RTCRtpSender.setParameters.parameters_encodings_parameter.maxFramerate | 81 | 81 | ✕ | 11 | 81 | ✕ | 11 |
| RTCRtpSender.setParameters.parameters_encodings_parameter.rid | ✕ | ✕ | 64 | ✕ | ✕ | 64 | ✕ |
| RTCRtpSender.setParameters.parameters_encodings_parameter.scaleResolutionDownBy | 74 | 79 | 64 | 11 | 74 | 64 | 11 |
| RTCRtpSender.setParameters.parameters_headerExtensions_parameter | 69 | 79 | ✕ | 12.1 | 69 | ✕ | 12.2 |
| RTCRtpSender.setParameters.parameters_rtcp_parameter | 69 | 79 | 154 | 15 | 69 | 154 | 15 |
| RTCRtpSender.setParameters.parameters_transactionId_parameter | 69 | 79 | 110 | 12.1 | 69 | 110 | 12.2 |
| RTCRtpSender.setStreams | 76 | 79 | 113 | 14.1 | 76 | 113 | 14.5 |
| RTCRtpSender.track | 64 | 13 | 34 | 11 | 64 | 34 | 11 |
| RTCRtpSender.transport | 75 | 13 | 82 | 15.4 | 75 | 82 | 15.4 |
| RTCRtpTransceiver | 69 | ≤18 | 59 | 11 | 69 | 59 | 11 |
| RTCRtpTransceiver.currentDirection | 69 | 79 | 59 | 12.1 | 69 | 59 | 12.2 |
| RTCRtpTransceiver.currentDirection.stopped_value | 103 | 103 | 118 | ✕ | 103 | 118 | ✕ |
| RTCRtpTransceiver.direction | 69 | 79 | 59 | 11 | 69 | 59 | 11 |
| RTCRtpTransceiver.direction.value_stopped | 103 | 103 | 118 | ✕ | 103 | 118 | ✕ |
| RTCRtpTransceiver.getHeaderExtensionsToNegotiate | 117 | 117 | ✕ | ✕ | 117 | ✕ | ✕ |
| RTCRtpTransceiver.getNegotiatedHeaderExtensions | 117 | 117 | ✕ | ✕ | 117 | ✕ | ✕ |
| RTCRtpTransceiver.mid | 69 | 79 | 59 | 11 | 69 | 59 | 11 |
| RTCRtpTransceiver.receiver | 69 | 79 | 59 | 11 | 69 | 59 | 11 |
| RTCRtpTransceiver.sender | 69 | 79 | 59 | 11 | 69 | 59 | 11 |
| RTCRtpTransceiver.setCodecPreferences | 76 | 79 | 128 | 13.1 | 76 | 128 | 13.4 |
| RTCRtpTransceiver.setHeaderExtensionsToNegotiate | 117 | 117 | ✕ | ✕ | 117 | ✕ | ✕ |
| RTCRtpTransceiver.stop | 88 | 88 | 59 | 11 | 88 | 59 | 11 |
| RTCSessionDescription | 23 | 15 | 44 | 11 | 25 | 44 | 11 |
| RTCSessionDescription.sdp | 23 | 15 | 44 | 11 | 25 | 44 | 11 |
| RTCSessionDescription.toJSON | 43 | 15 | 44 | 11 | 43 | 44 | 11 |
| RTCSessionDescription.type | 23 | 15 | 44 | 11 | 25 | 44 | 11 |
| RTCTrackEvent | 56 | 79 | 22 | 11 | 56 | 24 | 11 |
| RTCTrackEvent.RTCTrackEvent | 64 | 79 | 46 | 11 | 64 | 46 | 11 |
| RTCTrackEvent.receiver | 56 | 79 | 34 | 11 | 56 | 34 | 11 |
| RTCTrackEvent.streams | 56 | 79 | 22 | 11 | 56 | 24 | 11 |
| RTCTrackEvent.track | 56 | 79 | 22 | 11 | 56 | 24 | 11 |
| RTCTrackEvent.transceiver | 69 | 79 | 59 | 11 | 69 | 59 | 11 |