WebRTC 1.0 Interoperability Tests Results

Summary - December 2020

Every feature not marked at risk of the WebRTC 1.0 specification has been demonstrably and independently implemented in two browsers, except for:

Given the implementors commitment for these features and given their relative low real-world interoperability impact, the Working Group is confident that these implementation gaps are unlikely to require substantive changes to the specification as implementations catch up. Should this prove necessary, the Working Group will take advantage of the 2020 W3C Process for normative correction of bugs.

As a result of this implementation analysis, the WebRTC Working Group estimates that the implementations of the current WebRTC 1.0 are sufficient to proceed with publication as a W3C Recommendation under the 2020 W3C Process.

Detailed Implementation issues

Gaps

No implementation

voiceActivityFlag in SSRC (marked "at risk")
No implementation (CR, FF)
MTI Stats (CR, full support planned in Safari)
No implementation of
  • RTCReceivedRtpStreamStats's packetsDiscarded (CR, FF),
  • RTCInboundRtpStreamStats's receiverId,
  • RTCOutboundRtpStreamStats's senderId,
  • RTCMediaHandlerStats's trackIdentifier,
  • RTCIceCandidateStats's url (CR, FF),

Only one implementation

RTCDataChannel.onclosing
Missing in FF (low difficulty) & planned in Safari (webkit)
RTCRtpSender.setStreams()
Not implemented in FF (low difficulty), planned in Safari
RTCDtlsTransport.getRemoteCertificates
Missing from FF impl of RTCDtlsTransport; Safari doesn't implement RTCDtlsTransport
RTCIceTransport interface
Missing in FF; Available in SecureContext only in Chromium? missing component attribute in Chromium; missing most attributes/methods in Safari
onicecandidateerror
Not available in Firefox, Safari
sctp transport
Missing in FF, Safari
RTCError, RTCErrorEvent
Not implemented in Firefox, No plan for Safari (OperationError fallback test?); bug in RTCErrorEvent constructor (cf idlharness test)
RTCPeerConnectionIceEvent url attribute
Missing in FF, Chromium
validation of rid values in addTransceiver
Missing in FF, planned in Safari
RTCPeerConnectionIceErrorEvent
Missing in FF, Safari; address, port missing in Chromium
MTI Stats (single impl)
Full support planned in Safari, Currently only one implementation of RTCReceivedRtpStreamStats's framesDropped, RTCInboundRtpStreamStats's remoteId, RTCInboundRtpStreamStats's framesReceived, RTCInboundRtpStreamStats's totalAudioEnergy,RTCInboundRtpStreamStats's totalSamplesDuration,RTCOutboundRtpStreamStats's framesSent, RTCRemoteOutboundRtpStreamStats's localId, RTCRemoteOutboundRtpStreamStats's remoteTimestamp, RTCPeerConnectionStats's dataChannelsOpened, RTCPeerConnectionStats's dataChannelsClosed, RTCAudioSourceStats's totalAudioEnergy, RTCAudioSourceStats's totalSamplesDuration, RTCVideoSourceStats's width, RTCVideoSourceStats's height, RTCVideoSourceStats's framesPerSecond, RTCTransportStats's bytesSent, RTCTransportStats's bytesReceived, RTCTransportStats's selectedCandidatePairId, RTCTransportStats's localCertificateId, RTCTransportStats's remoteCertificateId, RTCIceCandidateStats's address

Gap in single browser that affect test suite because of dependencies

blob argument for RTCDataChannel.send()
Missing in Chromium (CR2276)
setConfiguration
Missing in Firefox

Bugs

Stats lifecycle
Chromium lifecyle for presence of RTCInboundRtpStreamStats, RTCRemoteInboundRtpStreamStats, RTCOutboundRtpStreamStats, RTCRemoteOutboundRtpStreamStats, RTCDataChannelStats?
FF lifecycle for presence of RTCIceCandidatePairStats.state, currentRoundTripTime. RTCCodecStats, RTCInboundRtpStreamStats, RTCRemoteInboundRtpStreamStats, RTCOutboundRtpStreamStats, RTCRemoteOutboundRtpStreamStats, RTCDataChannelStats, RTCMediaHandlerStats, RTCTransportStats, RTCCertificateStats?
RTCPeerConnection.addIceCandidate()
Supports for zero-argument in Safari
RTCPeerConnection.setLocalDescription()
Supports for zero-argument in Safari
readonly attributes in RTCSessionDescription (type, sdp)
writable in FF, Chromium
restartIce survives remote offer containing partial restart
Not implemented in FF, Chromium
createOffer
Chromium Safari fails "When media stream is added when createOffer() is running in parallel, the result offer should contain the new media stream"
setLocalDescription() with offer not created by own createOffer() should reject with InvalidModificationError
Fails in Chromium, Safari
getSynchronizationSources
returns empty array on audio track in Chromium (?); misses rtpTimestamp, voiceActivityFlag in Safari; doesn't work on video track in FF, which also lacks voiceActivityFlag
mute/unmute timing
Buggy in Chrome, Safari

Test suite issues

Bugs

Annotated WPT results

Tests Chrome Edge FireFox Safari Notes
webrtc/RTCCertificate-postMessage.html3/43/41/44/4Check cross-origin created RTCCertificate fails on 3 browsers
webrtc/RTCCertificate.html5/65/62/65/6test need to be updated - only first certificate of RTCPeerConnection({ certificates }) needs to be taken into account
webrtc/RTCConfiguration-bundlePolicy.html16/1616/168/1616/16
webrtc/RTCConfiguration-iceCandidatePoolSize.html10/1010/101/1010/10
webrtc/RTCConfiguration-iceServers.html34/6633/6630/6632/66

Buggy on edge cases / error reporting, but overall interop between Chromium / Safari, and FF if not using setConfig

  • FF doesn't implement setConfiguration (1/2 tests)
  • SyntaxError vs InvalidAccessError
  • OAuth credential needs to go (12 failures)
  • legacy support for iceServers.url
  • credentialType default value in Chromium/Safari
  • empty urls as error
webrtc/RTCConfiguration-iceTransportPolicy.html14/1714/1711/1717/17each sub-test is passed by two implementations
webrtc/RTCConfiguration-rtcpMuxPolicy.html14/1414/141/1414/14
webrtc/RTCDTMFSender-insertDTMF.https.html8/88/88/88/8
webrtc/RTCDTMFSender-ontonechange-long.https.html2/22/22/22/2
webrtc/RTCDTMFSender-ontonechange.https.html14/1514/1515/1515/15
webrtc/RTCDataChannel-binaryType.window.html2/82/83/83/8Bugs are limited to error handling (mostly type of errors for Chromium/Safari)
webrtc/RTCDataChannel-bufferedAmount.html21/2521/2525/2525/25missing support on Safari; Chromium fails because of dependency on blob sending
webrtc/RTCDataChannel-close.html11/1111/113/110/11FF & Safari don't implement closing
webrtc/RTCDataChannel-id.html5/55/55/51/5
webrtc/RTCDataChannel-send-blob-order.html1/31/31/33/3Chromium not implementing blob sending, but otherwise passes; FF missing order
webrtc/RTCDataChannel-send.html12/2212/2220/2218/22lack of blob support explains 4 Chromium failures; maxSize test depends on sctp transport availability
webrtc/RTCDataChannelEvent-constructor.html5/55/55/55/5
webrtc/RTCDtlsTransport-getRemoteCertificates.html2/22/21/21/2DtlsTransport not implemented in FF, Safari
webrtc/RTCDtlsTransport-state.html4/44/44/41/4DtlsTransport not implemented in FF, Safari
webrtc/RTCError.html24/2424/241/241/24RTCError not implemented in FF, Safari
webrtc/RTCIceCandidate-constructor.html19/1919/1917/1919/19missing IceCandidate additional attributes in FF, Safari
webrtc/RTCIceConnectionState-candidate-pair.https.html2/22/22/22/2
webrtc/RTCIceTransport-extension.https.html32/3232/321/321/32not part of webrtc-pc
webrtc/RTCIceTransport.html1/31/31/31/3fails for lack of SctpTransport in FF, Safari; fails because RTCIceTransport is only available in secure context in Chromium
webrtc/RTCPeerConnection-SLD-SRD-timing.https.html2/22/22/21/2
webrtc/RTCPeerConnection-add-track-no-deadlock.https.html2/22/22/22/2
webrtc/RTCPeerConnection-addIceCandidate-connectionSetup.html4/44/44/41/4
webrtc/RTCPeerConnection-addIceCandidate-timing.https.html5/55/55/55/5Safari don't implement argument-less sLD; known timing bug in Chromium
webrtc/RTCPeerConnection-addIceCandidate.html17/3017/3030/3010/302 failures because of wrong error names in Chromium; Chromium doesn't handle null candidate as end-of-candidate (explains 7 of the failures)
webrtc/RTCPeerConnection-addTrack.https.html10/109/1010/1010/10
webrtc/RTCPeerConnection-addTransceiver.https.html13/1313/1311/1311/13FF & Safari fail to validate rid (16 chars, alphanumeric)
webrtc/RTCPeerConnection-canTrickleIceCandidates.html4/44/44/41/4
webrtc/RTCPeerConnection-candidate-in-sdp.https.html2/22/22/22/2
webrtc/RTCPeerConnection-connectionState.https.html8/88/81/86/81 Safari failure linked to lack of sctp transport; 2nd linked to wrong state machine (FF doesn't implement)
webrtc/RTCPeerConnection-constructor.html23/2323/2321/2322/23All subtests pass on at minimum 2 browsers
webrtc/RTCPeerConnection-createAnswer.html3/43/44/44/4
webrtc/RTCPeerConnection-createDataChannel.html47/5147/5151/5133/512 Chromium fails because of lack of blob support; 2 other fails due to failure no negotiated ids; last chromium issue is linked to dependency on missing stop() on transceiver
webrtc/RTCPeerConnection-createOffer.html3/63/66/64/6bug in operation queuing in Chromium, missing in Safari
webrtc/RTCPeerConnection-description-attributes-timing.https.html5/55/55/51/5bug in chromium
webrtc/RTCPeerConnection-explicit-rollback-iceGatheringState.html4/44/44/40/4
webrtc/RTCPeerConnection-generateCertificate.html7/97/99/99/9
webrtc/RTCPeerConnection-getStats.https.html17/1917/196/1914/19FF misses mandatory stats: IceCandidate.url, RTCRtpStreamStats.transportId, RTCRtpStreamStats.codecId, RTCReceivedRtpStreamStats.packetsDiscarded, RTCReceivedRtpStreamStats.framesDropped, RTCInboundRTPStreamStats.receiverId, RTCInboundRTPStreamStats.remoteId, RTCInboundRTPStreamStats.framesDecoded, RTCInboundRTPStreamStats.framesReceived, RTCOutboundRTPStreamStats.senderId, RTCOutboundRTPStreamStats.remoteId, RTCOutboundRTPStreamStats.nackCount, RTCIceCandidatePairStats.transportId, RTCIceCandidatePairStats.totalRoundTripTime, RTCIceCandidatePairStats.currentRoundTripTime, RTCIceCandidatePairStats.state, RTCOutboundRTPStreamStats.framesSent, RTCCodecStats, RTCRemoteOutboundRTPStreamStats.remoteTimeStamp, RTCTransportStats, RTCCertificateStats, RTCPeerConnectionStats, RTCDataChannelStats; Chromium, Safari
webrtc/RTCPeerConnection-getTransceivers.html2/22/22/22/2
webrtc/RTCPeerConnection-helper-test.html2/22/22/21/2
webrtc/RTCPeerConnection-iceConnectionState-disconnected.https.html2/22/22/22/2
webrtc/RTCPeerConnection-iceConnectionState.https.html13/1313/139/138/13FF failures linked to lack of sctp / receiver.transport
webrtc/RTCPeerConnection-iceGatheringState.html9/99/97/92/9FF/Safari fails because of lack of sctp; Chromium because RTCIceTransport not available in non-secure context
webrtc/RTCPeerConnection-mandatory-getStats.https.html67/7867/7840/7841/7848 implemented in 2+ browsers, 21 in only one browser, 5 in no browser, 2 can't be reliably detected with WPT (issuerCertificatedId, codecType)
webrtc/RTCPeerConnection-ondatachannel.html9/99/99/94/9
webrtc/RTCPeerConnection-onicecandidateerror.https.html2/22/20/20/2icecandidateerror not implemented in FF, Safari
webrtc/RTCPeerConnection-onnegotiationneeded.html17/1717/1716/1716/17Now implemented in FF, bug in chromium https://crbug.com/1043503
webrtc/RTCPeerConnection-onsignalingstatechanged.https.html4/44/44/43/4bug in chromium
webrtc/RTCPeerConnection-ontrack.https.html8/88/88/88/8
webrtc/RTCPeerConnection-operations.https.html6/296/2928/2917/29Only FF support
webrtc/RTCPeerConnection-perfect-negotiation-stress-glare-linear.https.html3/33/33/31/3
webrtc/RTCPeerConnection-perfect-negotiation-stress-glare.https.html3/33/33/31/3
webrtc/RTCPeerConnection-perfect-negotiation.https.html5/55/55/53/5Only FF support, https://bugs.chromium.org/p/chromium/issues/detail?id=980872
webrtc/RTCPeerConnection-remote-track-mute.https.html1/61/63/61/6Timing bug in muting/unmuting in Chromium; FF partial impl of transceiver/close impact on mute events
webrtc/RTCPeerConnection-removeTrack.https.html15/1515/1515/1514/15
webrtc/RTCPeerConnection-restartIce-onnegotiationneeded.https.html2/22/22/22/2timing bug in Chromium; restartIce not implemented in Safari
webrtc/RTCPeerConnection-restartIce.https.html12/1412/1413/1411/14only edge case lack implementation
webrtc/RTCPeerConnection-setDescription-transceiver.html7/77/76/73/7
webrtc/RTCPeerConnection-setLocalDescription-answer.html6/86/88/82/8Chromium error is just wrong error type raised
webrtc/RTCPeerConnection-setLocalDescription-offer.html8/98/99/93/9setLocalDescription() with offer not created by own createOffer() should reject with InvalidModificationError but doesn't in Chromium, Safari
webrtc/RTCPeerConnection-setLocalDescription-parameterless.https.html11/1411/1412/1412/14Safari doesn't support parameter-less SLD; FF & Chromium bug in falling back to last answer?
webrtc/RTCPeerConnection-setLocalDescription-pranswer.html3/53/51/54/5Test is wrong to assume pendingRemoteDescription is null? other chromium failure is wrong error name
webrtc/RTCPeerConnection-setLocalDescription-rollback.html6/66/66/63/6Wrong queuing in Chromium
webrtc/RTCPeerConnection-setLocalDescription.html4/44/44/44/4
webrtc/RTCPeerConnection-setRemoteDescription-answer.html4/44/44/44/4
webrtc/RTCPeerConnection-setRemoteDescription-nomsid.html2/22/22/22/2
webrtc/RTCPeerConnection-setRemoteDescription-offer.html5/145/140/13/14FF failures are only linked to error type; Chromium doesn't follow spec algo
webrtc/RTCPeerConnection-setRemoteDescription-pranswer.html5/55/51/55/5
webrtc/RTCPeerConnection-setRemoteDescription-replaceTrack.https.html7/77/77/77/7
webrtc/RTCPeerConnection-setRemoteDescription-rollback.html22/2222/2219/223/22Safari has wrong state machine
FF: one failure due to lack of setStreams, 2 due to state machine bugs
webrtc/RTCPeerConnection-setRemoteDescription-simulcast.https.html1/21/22/21/2chromium bug
webrtc/RTCPeerConnection-setRemoteDescription-tracks.https.html11/1511/1515/1511/15timing bug in muted track explains 2 Chromium failures (the 3rd actually passes when timeout removed)
webrtc/RTCPeerConnection-setRemoteDescription.html5/65/66/66/6
webrtc/RTCPeerConnection-track-stats.https.html14/1514/150/1512/15Chromium fails in handling replaceTrack; 3 of safari failures due to outdated stream stat tests, others are real; FF doesn't implement trackIdentifier which is required for this test
webrtc/RTCPeerConnection-transceivers.https.html45/4545/4544/4542/45only FF failure due to missing encodings on sendparameters
webrtc/RTCPeerConnection-videoDetectorTest.html2/22/22/20/2
webrtc/RTCPeerConnectionIceErrorEvent.html2/22/21/21/2
webrtc/RTCPeerConnectionIceEvent-constructor.html7/97/97/99/9Minor bug in FF/Chromium (undefined instead of nullable)
webrtc/RTCRtpParameters-codecs.html7/77/71/71/7FF doesn't implement RtpParameters.codecs; Safari doesn't reject invalid modifications
webrtc/RTCRtpParameters-encodings.html15/1515/151/151/15FF doesn't implement RtpParameters.encodings; Safari doesn't set active/maxBitRate/rid and doesn't reject invalid modifications ("only" 7 real failures)
webrtc/RTCRtpParameters-headerExtensions.html2/22/21/21/2FF doesn't implement RtpParameters.headerExtensions; Safari OK (sends InvalidStateError instead of InvalidModificationError
webrtc/RTCRtpParameters-rtcp.html3/33/31/31/3not implemented in FF nor Safari
webrtc/RTCRtpParameters-transactionId.html6/66/61/61/6rtcp not implemented in Safari OK (sends InvalidStateError instead of InvalidModificationError
webrtc/RTCRtpReceiver-getCapabilities.html4/44/41/44/4
webrtc/RTCRtpReceiver-getContributingSources.https.html3/33/33/33/3
webrtc/RTCRtpReceiver-getParameters.html3/43/41/41/4Safari doesn't implement .rctp, but otherwise passes same tests as Chromium (i.e. fails on simulcast test, not sure if it's right); FF doesn't implement getParameters (#1618999)
webrtc/RTCRtpReceiver-getStats.https.html1/31/31/31/3Chromium and FF miss some mandatory stats
webrtc/RTCRtpReceiver-getSynchronizationSources.https.html0/150/1514/150/15Safari doesn't implement rtpTimestamp, voiceActivityFlag; Chromium timeout on audio (CR) but works OK for video (the FF error is voiceActivtyFlag support, marked at risk)
webrtc/RTCRtpSender-encode-same-track-twice.https.html2/22/22/22/2
webrtc/RTCRtpSender-getCapabilities.html4/44/41/44/4
webrtc/RTCRtpSender-getStats.https.html1/31/31/31/3gaps in MTI stats (but selector implemented)
webrtc/RTCRtpSender-replaceTrack.https.html9/119/1111/119/11All subtests pass on at minimum 2 browsers
webrtc/RTCRtpSender-setParameters.html2/22/22/22/2
webrtc/RTCRtpSender-setStreams.https.html6/66/61/61/6setStreams not implemented in FF, Safari
webrtc/RTCRtpSender-transport.https.html9/99/96/91/9Missing transport objects in FF/Safari - does old Edge help?
webrtc/RTCRtpSender.https.html2/22/22/22/2
webrtc/RTCRtpTransceiver-direction.html4/44/44/44/4
webrtc/RTCRtpTransceiver-setCodecPreferences.html20/2020/201/2019/20setCodecPreferences not implemented in FF; Safari fails to reject invalid modifications
webrtc/RTCRtpTransceiver-stop.html8/98/97/96/9FF fails on 'A stopped sendonly transceiver should generate a sendonly m-section in the offer'
webrtc/RTCRtpTransceiver.https.html31/3931/3931/390/1Chromium failures due to bug in mute timing, (+ SDP parsing failure in checkMsidNoTrackId, track negotiation in checkAddTransceiverThenAddTrackPairs & checkRemoveTrackNegotiation)
webrtc/RTCSctpTransport-constructor.html5/55/51/51/5sctp transport not implemented in FF/Safari
webrtc/RTCSctpTransport-events.html3/33/30/30/3sctp transport not implemented in FF/Safari
webrtc/RTCSctpTransport-maxChannels.html3/33/30/30/3sctp transport not implemented in FF/Safari
webrtc/RTCSctpTransport-maxMessageSize.html6/66/61/61/6sctp transport not implemented in FF/Safari
webrtc/RTCTrackEvent-constructor.html7/87/88/88/8
webrtc/RTCTrackEvent-fire.html8/108/1010/105/10Chromium bug in handling duplicate/empty msid - ignore?
webrtc/datachannel-emptystring.html1/21/21/21/2edge case
webrtc/getstats.html2/22/21/22/2
webrtc/historical.html9/189/1810/1818/18legacy backwards-compat support will not be removed from Chrome and FF, and Safari had added it, although not advertised.
webrtc/idlharness.https.window.html481/497481/497336/497376/497IDL gaps as documented in impl tracker
webrtc/legacy/RTCPeerConnection-addStream.https.html2/22/21/21/2not in spec
webrtc/legacy/RTCPeerConnection-createOffer-offerToReceive.html19/1919/1919/195/19
webrtc/legacy/RTCRtpTransceiver-with-OfferToReceive-options.https.html5/54/55/52/5
webrtc/legacy/onaddstream.https.html2/21/22/21/2
webrtc/no-media-call.html2/22/22/22/2
webrtc/promises-call.html2/22/22/22/2
webrtc/protocol/RTCPeerConnection-payloadTypes.html2/22/22/22/2
webrtc/protocol/bundle.https.html3/33/31/31/3FF and Safari don't implement ICE / DTLS transports
webrtc/protocol/candidate-exchange.https.html8/88/84/84/8FF doesn't implement IceTransport; Safari doesn't expose it
webrtc/protocol/crypto-suite.https.html7/97/91/90/9FF and Safari don't implement SCTP transport
webrtc/protocol/dtls-fingerprint-validation.html2/22/20/20/2FF doesn't implement connectionState (not clear if it is failing the pc); Safari doesn't make the PC fail
webrtc/protocol/handover.html3/33/31/33/3
webrtc/protocol/ice-state.https.html4/44/43/43/4FF & Safari go to failed instead of disconnected on invalid ICE candidate
webrtc/protocol/ice-ufragpwd.html3/33/31/33/3FF and Safari fail to fail on ICE invalid content
webrtc/protocol/jsep-initial-offer.https.html2/22/22/22/2
webrtc/protocol/missing-fields.html3/33/33/33/3
webrtc/protocol/msid-parse.html5/55/55/55/5
webrtc/protocol/rtp-demuxing.html3/33/32/33/3
webrtc/protocol/rtp-payloadtypes.html2/42/43/42/4
webrtc/protocol/sctp-format.html2/22/22/22/2
webrtc/protocol/simulcast-answer.html2/22/21/22/2FF doesn't implement rid
webrtc/protocol/simulcast-offer.html2/22/21/21/2FF/Safari don't implement rid
webrtc/protocol/split.https.html2/22/21/22/2
webrtc/protocol/unknown-mediatypes.html2/22/21/21/2
webrtc/protocol/video-codecs.https.html4/44/41/44/4FF failures due to H264 not enabled in WPT runs (1) and lack of RTCParameters support (2); Safari passes
webrtc/receiver-track-live.https.html3/51/55/53/5
webrtc/simplecall-no-ssrcs.https.html2/22/22/22/2
webrtc/simplecall.https.html2/22/22/22/2
webrtc/simulcast/basic.https.html2/21/21/20/2Safari's failure is linked to an unrelated bug on the loadmetadata event
webrtc/simulcast/getStats.https.html2/21/21/20/2Safari only reports stats on 1 layer (instead of all 3 layers)
webrtc/simulcast/h264.https.html2/21/21/20/2Safari's failure is linked to an unrelated bug on the loadmetadata event
webrtc/simulcast/setParameters-active.https.html2/21/21/20/2Safari's failure is linked to an unrelated bug on the loadmetadata event
webrtc/simulcast/vp8.https.html2/21/21/20/2Safari's failure is linked to an unrelated bug on the loadmetadata event

MTI Stats

Static results as of 30 september 2020 (based on mandatory stats test)

Subtest Chromium FF Safari
getStats succeeds
Validating stats
RTCRtpStreamStats's ssrc
RTCRtpStreamStats's kind
RTCRtpStreamStats's transportId
RTCRtpStreamStats's codecId
RTCReceivedRtpStreamStats's packetsReceived
RTCReceivedRtpStreamStats's packetsLost
RTCReceivedRtpStreamStats's jitter
RTCReceivedRtpStreamStats's packetsDiscarded
RTCReceivedRtpStreamStats's framesDropped
RTCInboundRtpStreamStats's receiverId
RTCInboundRtpStreamStats's remoteId
RTCInboundRtpStreamStats's framesDecoded
RTCInboundRtpStreamStats's nackCount
RTCInboundRtpStreamStats's framesReceived
RTCInboundRtpStreamStats's bytesReceived
RTCInboundRtpStreamStats's totalAudioEnergy
RTCInboundRtpStreamStats's totalSamplesDuration
RTCRemoteInboundRtpStreamStats's localId
RTCRemoteInboundRtpStreamStats's roundTripTime
RTCSentRtpStreamStats's packetsSent
RTCSentRtpStreamStats's bytesSent
RTCOutboundRtpStreamStats's senderId
RTCOutboundRtpStreamStats's remoteId
RTCOutboundRtpStreamStats's framesEncoded
RTCOutboundRtpStreamStats's nackCount
RTCOutboundRtpStreamStats's framesSent
RTCRemoteOutboundRtpStreamStats's localId
RTCRemoteOutboundRtpStreamStats's remoteTimestamp
RTCPeerConnectionStats's dataChannelsOpened
RTCPeerConnectionStats's dataChannelsClosed
RTCDataChannelStats's label
RTCDataChannelStats's protocol
RTCDataChannelStats's dataChannelIdentifier
RTCDataChannelStats's state
RTCDataChannelStats's messagesSent
RTCDataChannelStats's bytesSent
RTCDataChannelStats's messagesReceived
RTCDataChannelStats's bytesReceived
RTCMediaSourceStats's trackIdentifier
RTCMediaSourceStats's kind
RTCAudioSourceStats's totalAudioEnergy
RTCAudioSourceStats's totalSamplesDuration
RTCVideoSourceStats's width
RTCVideoSourceStats's height
RTCVideoSourceStats's framesPerSecond
RTCMediaHandlerStats's trackIdentifier
RTCCodecStats's payloadType
RTCCodecStats's codecType ? ? ?
RTCCodecStats's mimeType
RTCCodecStats's clockRate
RTCCodecStats's channels
RTCCodecStats's sdpFmtpLine
RTCTransportStats's bytesSent
RTCTransportStats's bytesReceived
RTCTransportStats's selectedCandidatePairId
RTCTransportStats's localCertificateId
RTCTransportStats's remoteCertificateId
RTCIceCandidatePairStats's transportId
RTCIceCandidatePairStats's localCandidateId
RTCIceCandidatePairStats's remoteCandidateId
RTCIceCandidatePairStats's state
RTCIceCandidatePairStats's nominated
RTCIceCandidatePairStats's bytesSent
RTCIceCandidatePairStats's bytesReceived
RTCIceCandidatePairStats's totalRoundTripTime
RTCIceCandidatePairStats's currentRoundTripTime
RTCIceCandidateStats's address
RTCIceCandidateStats's port
RTCIceCandidateStats's protocol
RTCIceCandidateStats's candidateType
RTCIceCandidateStats's url
RTCCertificateStats's fingerprint
RTCCertificateStats's fingerprintAlgorithm
RTCCertificateStats's base64Certificate
RTCCertificateStats's issuerCertificateId ? ? ?