Implement RTCRtpReceiver getContributingSources/getSynchronizationSources
authoryouenn@apple.com <youenn@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 18 Sep 2018 18:29:06 +0000 (18:29 +0000)
committeryouenn@apple.com <youenn@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 18 Sep 2018 18:29:06 +0000 (18:29 +0000)
https://bugs.webkit.org/show_bug.cgi?id=189671

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

* web-platform-tests/webrtc/RTCRtpReceiver-getContributingSources.https-expected.txt:
* web-platform-tests/webrtc/RTCRtpReceiver-getSynchronizationSources.https-expected.txt:
* web-platform-tests/webrtc/interfaces-expected.txt: Removed, as no longer needed.

Source/ThirdParty/libwebrtc:

* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:

Source/WebCore:

Introduce implementation of these two methods by calling the libwebrtc corresponding method.
Add corresponding IDL as per spec.
Covered by rebased WPT tests.

* CMakeLists.txt:
* DerivedSources.make:
* Modules/mediastream/RTCRtpContributingSource.h: Added.
* Modules/mediastream/RTCRtpContributingSource.idl: Added.
* Modules/mediastream/RTCRtpReceiver.h:
(WebCore::RTCRtpReceiver::getContributingSources const):
(WebCore::RTCRtpReceiver::getSynchronizationSources const):
* Modules/mediastream/RTCRtpReceiver.idl:
* Modules/mediastream/RTCRtpReceiverBackend.h:
(WebCore::RTCRtpReceiverBackend::getContributingSources const):
(WebCore::RTCRtpReceiverBackend::getSynchronizationSources const):
* Modules/mediastream/RTCRtpSynchronizationSource.h: Added.
* Modules/mediastream/RTCRtpSynchronizationSource.idl: Added.
* Modules/mediastream/libwebrtc/LibWebRTCRtpReceiverBackend.cpp:
(WebCore::fillRTCRtpContributingSource):
(WebCore::toRTCRtpContributingSource):
(WebCore::toRTCRtpSynchronizationSource):
(WebCore::LibWebRTCRtpReceiverBackend::getContributingSources const):
(WebCore::LibWebRTCRtpReceiverBackend::getSynchronizationSources const):
* Modules/mediastream/libwebrtc/LibWebRTCRtpReceiverBackend.h:
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@236147 268f45cc-cd09-0410-ab3c-d52691b4dbfc

22 files changed:
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCRtpReceiver-getContributingSources.https-expected.txt
LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCRtpReceiver-getSynchronizationSources.https-expected.txt
LayoutTests/imported/w3c/web-platform-tests/webrtc/interfaces-expected.txt [deleted file]
Source/ThirdParty/libwebrtc/ChangeLog
Source/ThirdParty/libwebrtc/Configurations/libwebrtc.iOS.exp
Source/ThirdParty/libwebrtc/Configurations/libwebrtc.iOSsim.exp
Source/ThirdParty/libwebrtc/Configurations/libwebrtc.mac.exp
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/DerivedSources.make
Source/WebCore/Modules/mediastream/RTCRtpContributingSource.h [new file with mode: 0644]
Source/WebCore/Modules/mediastream/RTCRtpContributingSource.idl [new file with mode: 0644]
Source/WebCore/Modules/mediastream/RTCRtpReceiver.h
Source/WebCore/Modules/mediastream/RTCRtpReceiver.idl
Source/WebCore/Modules/mediastream/RTCRtpReceiverBackend.h
Source/WebCore/Modules/mediastream/RTCRtpSynchronizationSource.h [new file with mode: 0644]
Source/WebCore/Modules/mediastream/RTCRtpSynchronizationSource.idl [new file with mode: 0644]
Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCRtpReceiverBackend.cpp
Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCRtpReceiverBackend.h
Source/WebCore/Sources.txt
Source/WebCore/WebCore.xcodeproj/project.pbxproj

index 5390d27..95e4faa 100644 (file)
@@ -1,3 +1,14 @@
+2018-09-18  Youenn Fablet  <youenn@apple.com>
+
+        Implement RTCRtpReceiver getContributingSources/getSynchronizationSources
+        https://bugs.webkit.org/show_bug.cgi?id=189671
+
+        Reviewed by Eric Carlson.
+
+        * web-platform-tests/webrtc/RTCRtpReceiver-getContributingSources.https-expected.txt:
+        * web-platform-tests/webrtc/RTCRtpReceiver-getSynchronizationSources.https-expected.txt:
+        * web-platform-tests/webrtc/interfaces-expected.txt: Removed, as no longer needed.
+
 2018-09-18  Manuel Rego Casasnovas  <rego@igalia.com>
 
         [css-grid] Static position should use content-box, not padding-box
index 2470844..3780f94 100644 (file)
@@ -1,3 +1,3 @@
 
-FAIL getContributingSources() should return list of CSRC after connection is established promise_test: Unhandled rejection with value: object "TypeError: receiver.getContributingSources is not a function. (In 'receiver.getContributingSources()', 'receiver.getContributingSources' is undefined)"
+FAIL getContributingSources() should return list of CSRC after connection is established assert_greater_than: Expect CSRCs to be available after RTP connection is established expected a number greater than 0 but got 0
 
index 6552916..d499f8b 100644 (file)
@@ -1,3 +1,3 @@
 
-FAIL getContributingSources() should return list of CSRC after connection is established promise_test: Unhandled rejection with value: object "TypeError: receiver.getSynchronizationSources is not a function. (In 'receiver.getSynchronizationSources()', 'receiver.getSynchronizationSources' is undefined)"
+FAIL getContributingSources() should return list of CSRC after connection is established assert_greater_than: Expect SSRCs to be available after RTP connection is established expected a number greater than 0 but got 0
 
diff --git a/LayoutTests/imported/w3c/web-platform-tests/webrtc/interfaces-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/webrtc/interfaces-expected.txt
deleted file mode 100644 (file)
index 6cafb8a..0000000
+++ /dev/null
@@ -1,527 +0,0 @@
-CONSOLE MESSAGE: line 251: callback not yet supported
-CONSOLE MESSAGE: line 251: callback not yet supported
-CONSOLE MESSAGE: line 251: callback not yet supported
-CONSOLE MESSAGE: line 251: callback not yet supported
-
-PASS Main test driver 
-FAIL Test driver for asyncInitCertificate undefined is not a function (near '...RTCPeerConnection.generateCertificate...')
-FAIL Test driver for asyncInitTransports assert_unreached: Failed to run asyncInitTransports: ReferenceError: Can't find variable: RTCSctpTransport Reached unreachable code
-PASS Test driver for asyncInitMediaStreamTrack 
-FAIL MediaStreamTrack interface: existence and properties of interface object undefined is not an object (evaluating 'this.array
-                     .members[this.base]
-                     .has_extended_attribute')
-PASS MediaStreamTrack interface object length 
-PASS MediaStreamTrack interface object name 
-FAIL MediaStreamTrack interface: existence and properties of interface prototype object undefined is not an object (evaluating 'this.array
-                         .members[inherit_interface]
-                         .has_extended_attribute')
-PASS MediaStreamTrack interface: existence and properties of interface prototype object's "constructor" property 
-FAIL MediaStreamTrack interface: attribute isolated assert_true: The prototype object must have a property "isolated" expected true got false
-FAIL MediaStreamTrack interface: attribute onisolationchange assert_true: The prototype object must have a property "onisolationchange" expected true got false
-PASS MediaStreamTrack must be primary interface of idlTestObjects.mediaStreamTrack 
-FAIL Stringification of idlTestObjects.mediaStreamTrack undefined is not an object (evaluating 'this.array.members[this.base].has_stringifier')
-FAIL MediaStreamTrack interface: idlTestObjects.mediaStreamTrack must inherit property "isolated" with the proper type assert_inherits: property "isolated" not found in prototype chain
-FAIL MediaStreamTrack interface: idlTestObjects.mediaStreamTrack must inherit property "onisolationchange" with the proper type assert_inherits: property "onisolationchange" not found in prototype chain
-PASS MediaStreamTrack must be primary interface of generateMediaStreamTrack('audio') 
-FAIL Stringification of generateMediaStreamTrack('audio') undefined is not an object (evaluating 'this.array.members[this.base].has_stringifier')
-FAIL MediaStreamTrack interface: generateMediaStreamTrack('audio') must inherit property "isolated" with the proper type assert_inherits: property "isolated" not found in prototype chain
-FAIL MediaStreamTrack interface: generateMediaStreamTrack('audio') must inherit property "onisolationchange" with the proper type assert_inherits: property "onisolationchange" not found in prototype chain
-FAIL RTCPeerConnection interface: existence and properties of interface object undefined is not an object (evaluating 'this.array
-                     .members[this.base]
-                     .has_extended_attribute')
-PASS RTCPeerConnection interface object length 
-PASS RTCPeerConnection interface object name 
-FAIL RTCPeerConnection interface: existence and properties of interface prototype object undefined is not an object (evaluating 'this.array
-                         .members[inherit_interface]
-                         .has_extended_attribute')
-PASS RTCPeerConnection interface: existence and properties of interface prototype object's "constructor" property 
-PASS RTCPeerConnection interface: operation createOffer(RTCOfferOptions) 
-PASS RTCPeerConnection interface: operation createAnswer(RTCAnswerOptions) 
-FAIL RTCPeerConnection interface: operation setLocalDescription(RTCSessionDescriptionInit) assert_equals: property has wrong .length expected 1 but got 0
-PASS RTCPeerConnection interface: attribute localDescription 
-PASS RTCPeerConnection interface: attribute currentLocalDescription 
-PASS RTCPeerConnection interface: attribute pendingLocalDescription 
-FAIL RTCPeerConnection interface: operation setRemoteDescription(RTCSessionDescriptionInit) assert_equals: property has wrong .length expected 1 but got 0
-PASS RTCPeerConnection interface: attribute remoteDescription 
-PASS RTCPeerConnection interface: attribute currentRemoteDescription 
-PASS RTCPeerConnection interface: attribute pendingRemoteDescription 
-PASS RTCPeerConnection interface: operation addIceCandidate([object Object],[object Object]) 
-PASS RTCPeerConnection interface: attribute signalingState 
-PASS RTCPeerConnection interface: attribute iceGatheringState 
-PASS RTCPeerConnection interface: attribute iceConnectionState 
-PASS RTCPeerConnection interface: attribute connectionState 
-FAIL RTCPeerConnection interface: attribute canTrickleIceCandidates assert_true: The prototype object must have a property "canTrickleIceCandidates" expected true got false
-FAIL RTCPeerConnection interface: operation getDefaultIceServers() assert_own_property: interface object missing static operation expected property "getDefaultIceServers" missing
-PASS RTCPeerConnection interface: operation getConfiguration() 
-PASS RTCPeerConnection interface: operation setConfiguration(RTCConfiguration) 
-PASS RTCPeerConnection interface: operation close() 
-PASS RTCPeerConnection interface: attribute onnegotiationneeded 
-PASS RTCPeerConnection interface: attribute onicecandidate 
-FAIL RTCPeerConnection interface: attribute onicecandidateerror assert_true: The prototype object must have a property "onicecandidateerror" expected true got false
-PASS RTCPeerConnection interface: attribute onsignalingstatechange 
-PASS RTCPeerConnection interface: attribute oniceconnectionstatechange 
-PASS RTCPeerConnection interface: attribute onicegatheringstatechange 
-PASS RTCPeerConnection interface: attribute onconnectionstatechange 
-FAIL RTCPeerConnection interface: attribute onfingerprintfailure assert_true: The prototype object must have a property "onfingerprintfailure" expected true got false
-PASS RTCPeerConnection interface: operation createOffer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback, RTCOfferOptions) 
-FAIL RTCPeerConnection interface: operation setLocalDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback) assert_equals: property has wrong .length expected 1 but got 0
-PASS RTCPeerConnection interface: operation createAnswer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback) 
-FAIL RTCPeerConnection interface: operation setRemoteDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback) assert_equals: property has wrong .length expected 1 but got 0
-PASS RTCPeerConnection interface: operation addIceCandidate([object Object],[object Object], VoidFunction, RTCPeerConnectionErrorCallback) 
-FAIL RTCPeerConnection interface: operation generateCertificate(AlgorithmIdentifier) assert_own_property: interface object missing static operation expected property "generateCertificate" missing
-PASS RTCPeerConnection interface: operation getSenders() 
-PASS RTCPeerConnection interface: operation getReceivers() 
-PASS RTCPeerConnection interface: operation getTransceivers() 
-PASS RTCPeerConnection interface: operation addTrack(MediaStreamTrack, MediaStream) 
-PASS RTCPeerConnection interface: operation removeTrack(RTCRtpSender) 
-PASS RTCPeerConnection interface: operation addTransceiver([object Object],[object Object], RTCRtpTransceiverInit) 
-PASS RTCPeerConnection interface: attribute ontrack 
-FAIL RTCPeerConnection interface: attribute sctp assert_true: The prototype object must have a property "sctp" expected true got false
-PASS RTCPeerConnection interface: operation createDataChannel(USVString, RTCDataChannelInit) 
-PASS RTCPeerConnection interface: attribute ondatachannel 
-PASS RTCPeerConnection interface: operation getStats(MediaStreamTrack) 
-FAIL RTCPeerConnection interface: operation setIdentityProvider(DOMString, RTCIdentityProviderOptions) assert_own_property: interface prototype object missing non-static operation expected property "setIdentityProvider" missing
-FAIL RTCPeerConnection interface: operation getIdentityAssertion() assert_own_property: interface prototype object missing non-static operation expected property "getIdentityAssertion" missing
-FAIL RTCPeerConnection interface: attribute peerIdentity assert_true: The prototype object must have a property "peerIdentity" expected true got false
-FAIL RTCPeerConnection interface: attribute idpLoginUrl assert_true: The prototype object must have a property "idpLoginUrl" expected true got false
-FAIL RTCPeerConnection interface: attribute idpErrorInfo assert_true: The prototype object must have a property "idpErrorInfo" expected true got false
-PASS RTCPeerConnection must be primary interface of new RTCPeerConnection() 
-FAIL Stringification of new RTCPeerConnection() undefined is not an object (evaluating 'this.array.members[this.base].has_stringifier')
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "createOffer(RTCOfferOptions)" with the proper type 
-PASS RTCPeerConnection interface: calling createOffer(RTCOfferOptions) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "createAnswer(RTCAnswerOptions)" with the proper type 
-PASS RTCPeerConnection interface: calling createAnswer(RTCAnswerOptions) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "setLocalDescription(RTCSessionDescriptionInit)" with the proper type 
-PASS RTCPeerConnection interface: calling setLocalDescription(RTCSessionDescriptionInit) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "localDescription" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "currentLocalDescription" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "pendingLocalDescription" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "setRemoteDescription(RTCSessionDescriptionInit)" with the proper type 
-PASS RTCPeerConnection interface: calling setRemoteDescription(RTCSessionDescriptionInit) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "remoteDescription" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "currentRemoteDescription" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "pendingRemoteDescription" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "addIceCandidate([object Object],[object Object])" with the proper type 
-PASS RTCPeerConnection interface: calling addIceCandidate([object Object],[object Object]) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "signalingState" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "iceGatheringState" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "iceConnectionState" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "connectionState" with the proper type 
-FAIL RTCPeerConnection interface: new RTCPeerConnection() must inherit property "canTrickleIceCandidates" with the proper type assert_inherits: property "canTrickleIceCandidates" not found in prototype chain
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getDefaultIceServers()" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getConfiguration()" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "setConfiguration(RTCConfiguration)" with the proper type 
-PASS RTCPeerConnection interface: calling setConfiguration(RTCConfiguration) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "close()" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onnegotiationneeded" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onicecandidate" with the proper type 
-FAIL RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onicecandidateerror" with the proper type assert_inherits: property "onicecandidateerror" not found in prototype chain
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onsignalingstatechange" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "oniceconnectionstatechange" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onicegatheringstatechange" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onconnectionstatechange" with the proper type 
-FAIL RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onfingerprintfailure" with the proper type assert_inherits: property "onfingerprintfailure" not found in prototype chain
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "createOffer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback, RTCOfferOptions)" with the proper type 
-PASS RTCPeerConnection interface: calling createOffer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback, RTCOfferOptions) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "setLocalDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback)" with the proper type 
-PASS RTCPeerConnection interface: calling setLocalDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "createAnswer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback)" with the proper type 
-PASS RTCPeerConnection interface: calling createAnswer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "setRemoteDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback)" with the proper type 
-PASS RTCPeerConnection interface: calling setRemoteDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "addIceCandidate([object Object],[object Object], VoidFunction, RTCPeerConnectionErrorCallback)" with the proper type 
-PASS RTCPeerConnection interface: calling addIceCandidate([object Object],[object Object], VoidFunction, RTCPeerConnectionErrorCallback) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "generateCertificate(AlgorithmIdentifier)" with the proper type 
-FAIL RTCPeerConnection interface: calling generateCertificate(AlgorithmIdentifier) on new RTCPeerConnection() with too few arguments must throw TypeError assert_own_property: interface object must have static operation as own property expected property "generateCertificate" missing
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getSenders()" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getReceivers()" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getTransceivers()" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "addTrack(MediaStreamTrack, MediaStream)" with the proper type 
-PASS RTCPeerConnection interface: calling addTrack(MediaStreamTrack, MediaStream) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "removeTrack(RTCRtpSender)" with the proper type 
-PASS RTCPeerConnection interface: calling removeTrack(RTCRtpSender) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "addTransceiver([object Object],[object Object], RTCRtpTransceiverInit)" with the proper type 
-PASS RTCPeerConnection interface: calling addTransceiver([object Object],[object Object], RTCRtpTransceiverInit) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "ontrack" with the proper type 
-FAIL RTCPeerConnection interface: new RTCPeerConnection() must inherit property "sctp" with the proper type assert_inherits: property "sctp" not found in prototype chain
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "createDataChannel(USVString, RTCDataChannelInit)" with the proper type 
-PASS RTCPeerConnection interface: calling createDataChannel(USVString, RTCDataChannelInit) on new RTCPeerConnection() with too few arguments must throw TypeError 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "ondatachannel" with the proper type 
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getStats(MediaStreamTrack)" with the proper type 
-PASS RTCPeerConnection interface: calling getStats(MediaStreamTrack) on new RTCPeerConnection() with too few arguments must throw TypeError 
-FAIL RTCPeerConnection interface: new RTCPeerConnection() must inherit property "setIdentityProvider(DOMString, RTCIdentityProviderOptions)" with the proper type assert_inherits: property "setIdentityProvider" not found in prototype chain
-FAIL RTCPeerConnection interface: calling setIdentityProvider(DOMString, RTCIdentityProviderOptions) on new RTCPeerConnection() with too few arguments must throw TypeError assert_inherits: property "setIdentityProvider" not found in prototype chain
-FAIL RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getIdentityAssertion()" with the proper type assert_inherits: property "getIdentityAssertion" not found in prototype chain
-FAIL RTCPeerConnection interface: new RTCPeerConnection() must inherit property "peerIdentity" with the proper type assert_inherits: property "peerIdentity" not found in prototype chain
-FAIL RTCPeerConnection interface: new RTCPeerConnection() must inherit property "idpLoginUrl" with the proper type assert_inherits: property "idpLoginUrl" not found in prototype chain
-FAIL RTCPeerConnection interface: new RTCPeerConnection() must inherit property "idpErrorInfo" with the proper type assert_inherits: property "idpErrorInfo" not found in prototype chain
-PASS RTCSessionDescription interface: existence and properties of interface object 
-PASS RTCSessionDescription interface object length 
-PASS RTCSessionDescription interface object name 
-PASS RTCSessionDescription interface: existence and properties of interface prototype object 
-PASS RTCSessionDescription interface: existence and properties of interface prototype object's "constructor" property 
-PASS RTCSessionDescription interface: attribute type 
-PASS RTCSessionDescription interface: attribute sdp 
-PASS RTCSessionDescription must be primary interface of new RTCSessionDescription({ type: 'offer' }) 
-PASS Stringification of new RTCSessionDescription({ type: 'offer' }) 
-PASS RTCSessionDescription interface: new RTCSessionDescription({ type: 'offer' }) must inherit property "type" with the proper type 
-PASS RTCSessionDescription interface: new RTCSessionDescription({ type: 'offer' }) must inherit property "sdp" with the proper type 
-PASS RTCIceCandidate interface: existence and properties of interface object 
-FAIL RTCIceCandidate interface object length assert_equals: wrong value for RTCIceCandidate.length expected 0 but got 1
-PASS RTCIceCandidate interface object name 
-PASS RTCIceCandidate interface: existence and properties of interface prototype object 
-PASS RTCIceCandidate interface: existence and properties of interface prototype object's "constructor" property 
-PASS RTCIceCandidate interface: attribute candidate 
-PASS RTCIceCandidate interface: attribute sdpMid 
-PASS RTCIceCandidate interface: attribute sdpMLineIndex 
-FAIL RTCIceCandidate interface: attribute foundation assert_true: The prototype object must have a property "foundation" expected true got false
-FAIL RTCIceCandidate interface: attribute component assert_true: The prototype object must have a property "component" expected true got false
-FAIL RTCIceCandidate interface: attribute priority assert_true: The prototype object must have a property "priority" expected true got false
-FAIL RTCIceCandidate interface: attribute ip assert_true: The prototype object must have a property "ip" expected true got false
-FAIL RTCIceCandidate interface: attribute protocol assert_true: The prototype object must have a property "protocol" expected true got false
-FAIL RTCIceCandidate interface: attribute port assert_true: The prototype object must have a property "port" expected true got false
-FAIL RTCIceCandidate interface: attribute type assert_true: The prototype object must have a property "type" expected true got false
-FAIL RTCIceCandidate interface: attribute tcpType assert_true: The prototype object must have a property "tcpType" expected true got false
-FAIL RTCIceCandidate interface: attribute relatedAddress assert_true: The prototype object must have a property "relatedAddress" expected true got false
-FAIL RTCIceCandidate interface: attribute relatedPort assert_true: The prototype object must have a property "relatedPort" expected true got false
-FAIL RTCIceCandidate interface: attribute ufrag assert_true: The prototype object must have a property "ufrag" expected true got false
-PASS RTCIceCandidate must be primary interface of new RTCIceCandidate({ sdpMid: 1 }) 
-PASS Stringification of new RTCIceCandidate({ sdpMid: 1 }) 
-PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "candidate" with the proper type 
-PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "sdpMid" with the proper type 
-PASS RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "sdpMLineIndex" with the proper type 
-FAIL RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "foundation" with the proper type assert_inherits: property "foundation" not found in prototype chain
-FAIL RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "component" with the proper type assert_inherits: property "component" not found in prototype chain
-FAIL RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "priority" with the proper type assert_inherits: property "priority" not found in prototype chain
-FAIL RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "ip" with the proper type assert_inherits: property "ip" not found in prototype chain
-FAIL RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "protocol" with the proper type assert_inherits: property "protocol" not found in prototype chain
-FAIL RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "port" with the proper type assert_inherits: property "port" not found in prototype chain
-FAIL RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "type" with the proper type assert_inherits: property "type" not found in prototype chain
-FAIL RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "tcpType" with the proper type assert_inherits: property "tcpType" not found in prototype chain
-FAIL RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "relatedAddress" with the proper type assert_inherits: property "relatedAddress" not found in prototype chain
-FAIL RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "relatedPort" with the proper type assert_inherits: property "relatedPort" not found in prototype chain
-FAIL RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "ufrag" with the proper type assert_inherits: property "ufrag" not found in prototype chain
-FAIL RTCPeerConnectionIceEvent interface: existence and properties of interface object assert_own_property: self does not have own property "RTCPeerConnectionIceEvent" expected property "RTCPeerConnectionIceEvent" missing
-FAIL RTCPeerConnectionIceEvent interface object length assert_own_property: self does not have own property "RTCPeerConnectionIceEvent" expected property "RTCPeerConnectionIceEvent" missing
-FAIL RTCPeerConnectionIceEvent interface object name assert_own_property: self does not have own property "RTCPeerConnectionIceEvent" expected property "RTCPeerConnectionIceEvent" missing
-FAIL RTCPeerConnectionIceEvent interface: existence and properties of interface prototype object assert_own_property: self does not have own property "RTCPeerConnectionIceEvent" expected property "RTCPeerConnectionIceEvent" missing
-FAIL RTCPeerConnectionIceEvent interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "RTCPeerConnectionIceEvent" expected property "RTCPeerConnectionIceEvent" missing
-FAIL RTCPeerConnectionIceEvent interface: attribute candidate assert_own_property: self does not have own property "RTCPeerConnectionIceEvent" expected property "RTCPeerConnectionIceEvent" missing
-FAIL RTCPeerConnectionIceEvent interface: attribute url assert_own_property: self does not have own property "RTCPeerConnectionIceEvent" expected property "RTCPeerConnectionIceEvent" missing
-FAIL RTCPeerConnectionIceEvent must be primary interface of new RTCPeerConnectionIceEvent('ice') assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCPeerConnectionIceEvent"
-FAIL Stringification of new RTCPeerConnectionIceEvent('ice') assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCPeerConnectionIceEvent"
-FAIL RTCPeerConnectionIceEvent interface: new RTCPeerConnectionIceEvent('ice') must inherit property "candidate" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCPeerConnectionIceEvent"
-FAIL RTCPeerConnectionIceEvent interface: new RTCPeerConnectionIceEvent('ice') must inherit property "url" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCPeerConnectionIceEvent"
-FAIL RTCPeerConnectionIceErrorEvent interface: existence and properties of interface object assert_own_property: self does not have own property "RTCPeerConnectionIceErrorEvent" expected property "RTCPeerConnectionIceErrorEvent" missing
-FAIL RTCPeerConnectionIceErrorEvent interface object length assert_own_property: self does not have own property "RTCPeerConnectionIceErrorEvent" expected property "RTCPeerConnectionIceErrorEvent" missing
-FAIL RTCPeerConnectionIceErrorEvent interface object name assert_own_property: self does not have own property "RTCPeerConnectionIceErrorEvent" expected property "RTCPeerConnectionIceErrorEvent" missing
-FAIL RTCPeerConnectionIceErrorEvent interface: existence and properties of interface prototype object assert_own_property: self does not have own property "RTCPeerConnectionIceErrorEvent" expected property "RTCPeerConnectionIceErrorEvent" missing
-FAIL RTCPeerConnectionIceErrorEvent interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "RTCPeerConnectionIceErrorEvent" expected property "RTCPeerConnectionIceErrorEvent" missing
-FAIL RTCPeerConnectionIceErrorEvent interface: attribute hostCandidate assert_own_property: self does not have own property "RTCPeerConnectionIceErrorEvent" expected property "RTCPeerConnectionIceErrorEvent" missing
-FAIL RTCPeerConnectionIceErrorEvent interface: attribute url assert_own_property: self does not have own property "RTCPeerConnectionIceErrorEvent" expected property "RTCPeerConnectionIceErrorEvent" missing
-FAIL RTCPeerConnectionIceErrorEvent interface: attribute errorCode assert_own_property: self does not have own property "RTCPeerConnectionIceErrorEvent" expected property "RTCPeerConnectionIceErrorEvent" missing
-FAIL RTCPeerConnectionIceErrorEvent interface: attribute errorText assert_own_property: self does not have own property "RTCPeerConnectionIceErrorEvent" expected property "RTCPeerConnectionIceErrorEvent" missing
-FAIL RTCPeerConnectionIceErrorEvent must be primary interface of new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCPeerConnectionIceErrorEvent"
-FAIL Stringification of new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCPeerConnectionIceErrorEvent"
-FAIL RTCPeerConnectionIceErrorEvent interface: new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); must inherit property "hostCandidate" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCPeerConnectionIceErrorEvent"
-FAIL RTCPeerConnectionIceErrorEvent interface: new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); must inherit property "url" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCPeerConnectionIceErrorEvent"
-FAIL RTCPeerConnectionIceErrorEvent interface: new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); must inherit property "errorCode" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCPeerConnectionIceErrorEvent"
-FAIL RTCPeerConnectionIceErrorEvent interface: new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); must inherit property "errorText" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCPeerConnectionIceErrorEvent"
-FAIL RTCCertificate interface: existence and properties of interface object assert_own_property: self does not have own property "RTCCertificate" expected property "RTCCertificate" missing
-FAIL RTCCertificate interface object length assert_own_property: self does not have own property "RTCCertificate" expected property "RTCCertificate" missing
-FAIL RTCCertificate interface object name assert_own_property: self does not have own property "RTCCertificate" expected property "RTCCertificate" missing
-FAIL RTCCertificate interface: existence and properties of interface prototype object assert_own_property: self does not have own property "RTCCertificate" expected property "RTCCertificate" missing
-FAIL RTCCertificate interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "RTCCertificate" expected property "RTCCertificate" missing
-FAIL RTCCertificate interface: attribute expires assert_own_property: self does not have own property "RTCCertificate" expected property "RTCCertificate" missing
-FAIL RTCCertificate interface: operation getFingerprints() assert_own_property: self does not have own property "RTCCertificate" expected property "RTCCertificate" missing
-FAIL RTCCertificate interface: operation getAlgorithm() assert_own_property: self does not have own property "RTCCertificate" expected property "RTCCertificate" missing
-FAIL RTCCertificate must be primary interface of idlTestObjects.certificate assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL Stringification of idlTestObjects.certificate assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCCertificate interface: idlTestObjects.certificate must inherit property "expires" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCCertificate interface: idlTestObjects.certificate must inherit property "getFingerprints()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCCertificate interface: idlTestObjects.certificate must inherit property "getAlgorithm()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-PASS RTCRtpSender interface: existence and properties of interface object 
-PASS RTCRtpSender interface object length 
-PASS RTCRtpSender interface object name 
-PASS RTCRtpSender interface: existence and properties of interface prototype object 
-PASS RTCRtpSender interface: existence and properties of interface prototype object's "constructor" property 
-PASS RTCRtpSender interface: attribute track 
-FAIL RTCRtpSender interface: attribute transport assert_true: The prototype object must have a property "transport" expected true got false
-FAIL RTCRtpSender interface: attribute rtcpTransport assert_true: The prototype object must have a property "rtcpTransport" expected true got false
-FAIL RTCRtpSender interface: operation getCapabilities(DOMString) assert_own_property: interface object missing static operation expected property "getCapabilities" missing
-FAIL RTCRtpSender interface: operation setParameters(RTCRtpParameters) assert_own_property: interface prototype object missing non-static operation expected property "setParameters" missing
-PASS RTCRtpSender interface: operation getParameters() 
-PASS RTCRtpSender interface: operation replaceTrack(MediaStreamTrack) 
-FAIL RTCRtpSender interface: operation getStats() assert_own_property: interface prototype object missing non-static operation expected property "getStats" missing
-FAIL RTCRtpSender interface: attribute dtmf assert_true: The prototype object must have a property "dtmf" expected true got false
-PASS RTCRtpSender must be primary interface of new RTCPeerConnection().addTransceiver('audio').sender 
-PASS Stringification of new RTCPeerConnection().addTransceiver('audio').sender 
-PASS RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "track" with the proper type 
-FAIL RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "transport" with the proper type assert_inherits: property "transport" not found in prototype chain
-FAIL RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "rtcpTransport" with the proper type assert_inherits: property "rtcpTransport" not found in prototype chain
-PASS RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "getCapabilities(DOMString)" with the proper type 
-FAIL RTCRtpSender interface: calling getCapabilities(DOMString) on new RTCPeerConnection().addTransceiver('audio').sender with too few arguments must throw TypeError assert_own_property: interface object must have static operation as own property expected property "getCapabilities" missing
-FAIL RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "setParameters(RTCRtpParameters)" with the proper type assert_inherits: property "setParameters" not found in prototype chain
-FAIL RTCRtpSender interface: calling setParameters(RTCRtpParameters) on new RTCPeerConnection().addTransceiver('audio').sender with too few arguments must throw TypeError assert_inherits: property "setParameters" not found in prototype chain
-PASS RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "getParameters()" with the proper type 
-PASS RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "replaceTrack(MediaStreamTrack)" with the proper type 
-PASS RTCRtpSender interface: calling replaceTrack(MediaStreamTrack) on new RTCPeerConnection().addTransceiver('audio').sender with too few arguments must throw TypeError 
-FAIL RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "getStats()" with the proper type assert_inherits: property "getStats" not found in prototype chain
-FAIL RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "dtmf" with the proper type assert_inherits: property "dtmf" not found in prototype chain
-PASS RTCRtpReceiver interface: existence and properties of interface object 
-PASS RTCRtpReceiver interface object length 
-PASS RTCRtpReceiver interface object name 
-PASS RTCRtpReceiver interface: existence and properties of interface prototype object 
-PASS RTCRtpReceiver interface: existence and properties of interface prototype object's "constructor" property 
-PASS RTCRtpReceiver interface: attribute track 
-FAIL RTCRtpReceiver interface: attribute transport assert_true: The prototype object must have a property "transport" expected true got false
-FAIL RTCRtpReceiver interface: attribute rtcpTransport assert_true: The prototype object must have a property "rtcpTransport" expected true got false
-FAIL RTCRtpReceiver interface: operation getCapabilities(DOMString) assert_own_property: interface object missing static operation expected property "getCapabilities" missing
-PASS RTCRtpReceiver interface: operation getParameters() 
-FAIL RTCRtpReceiver interface: operation getContributingSources() assert_own_property: interface prototype object missing non-static operation expected property "getContributingSources" missing
-FAIL RTCRtpReceiver interface: operation getSynchronizationSources() assert_own_property: interface prototype object missing non-static operation expected property "getSynchronizationSources" missing
-FAIL RTCRtpReceiver interface: operation getStats() assert_own_property: interface prototype object missing non-static operation expected property "getStats" missing
-PASS RTCRtpReceiver must be primary interface of new RTCPeerConnection().addTransceiver('audio').receiver 
-PASS Stringification of new RTCPeerConnection().addTransceiver('audio').receiver 
-PASS RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "track" with the proper type 
-FAIL RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "transport" with the proper type assert_inherits: property "transport" not found in prototype chain
-FAIL RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "rtcpTransport" with the proper type assert_inherits: property "rtcpTransport" not found in prototype chain
-PASS RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "getCapabilities(DOMString)" with the proper type 
-FAIL RTCRtpReceiver interface: calling getCapabilities(DOMString) on new RTCPeerConnection().addTransceiver('audio').receiver with too few arguments must throw TypeError assert_own_property: interface object must have static operation as own property expected property "getCapabilities" missing
-PASS RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "getParameters()" with the proper type 
-FAIL RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "getContributingSources()" with the proper type assert_inherits: property "getContributingSources" not found in prototype chain
-FAIL RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "getSynchronizationSources()" with the proper type assert_inherits: property "getSynchronizationSources" not found in prototype chain
-FAIL RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "getStats()" with the proper type assert_inherits: property "getStats" not found in prototype chain
-FAIL RTCRtpContributingSource interface: existence and properties of interface object assert_own_property: self does not have own property "RTCRtpContributingSource" expected property "RTCRtpContributingSource" missing
-FAIL RTCRtpContributingSource interface object length assert_own_property: self does not have own property "RTCRtpContributingSource" expected property "RTCRtpContributingSource" missing
-FAIL RTCRtpContributingSource interface object name assert_own_property: self does not have own property "RTCRtpContributingSource" expected property "RTCRtpContributingSource" missing
-FAIL RTCRtpContributingSource interface: existence and properties of interface prototype object assert_own_property: self does not have own property "RTCRtpContributingSource" expected property "RTCRtpContributingSource" missing
-FAIL RTCRtpContributingSource interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "RTCRtpContributingSource" expected property "RTCRtpContributingSource" missing
-FAIL RTCRtpContributingSource interface: attribute timestamp assert_own_property: self does not have own property "RTCRtpContributingSource" expected property "RTCRtpContributingSource" missing
-FAIL RTCRtpContributingSource interface: attribute source assert_own_property: self does not have own property "RTCRtpContributingSource" expected property "RTCRtpContributingSource" missing
-FAIL RTCRtpContributingSource interface: attribute audioLevel assert_own_property: self does not have own property "RTCRtpContributingSource" expected property "RTCRtpContributingSource" missing
-FAIL RTCRtpSynchronizationSource interface: existence and properties of interface object assert_own_property: self does not have own property "RTCRtpSynchronizationSource" expected property "RTCRtpSynchronizationSource" missing
-FAIL RTCRtpSynchronizationSource interface object length assert_own_property: self does not have own property "RTCRtpSynchronizationSource" expected property "RTCRtpSynchronizationSource" missing
-FAIL RTCRtpSynchronizationSource interface object name assert_own_property: self does not have own property "RTCRtpSynchronizationSource" expected property "RTCRtpSynchronizationSource" missing
-FAIL RTCRtpSynchronizationSource interface: existence and properties of interface prototype object assert_own_property: self does not have own property "RTCRtpSynchronizationSource" expected property "RTCRtpSynchronizationSource" missing
-FAIL RTCRtpSynchronizationSource interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "RTCRtpSynchronizationSource" expected property "RTCRtpSynchronizationSource" missing
-FAIL RTCRtpSynchronizationSource interface: attribute timestamp assert_own_property: self does not have own property "RTCRtpSynchronizationSource" expected property "RTCRtpSynchronizationSource" missing
-FAIL RTCRtpSynchronizationSource interface: attribute source assert_own_property: self does not have own property "RTCRtpSynchronizationSource" expected property "RTCRtpSynchronizationSource" missing
-FAIL RTCRtpSynchronizationSource interface: attribute audioLevel assert_own_property: self does not have own property "RTCRtpSynchronizationSource" expected property "RTCRtpSynchronizationSource" missing
-FAIL RTCRtpSynchronizationSource interface: attribute voiceActivityFlag assert_own_property: self does not have own property "RTCRtpSynchronizationSource" expected property "RTCRtpSynchronizationSource" missing
-PASS RTCRtpTransceiver interface: existence and properties of interface object 
-PASS RTCRtpTransceiver interface object length 
-PASS RTCRtpTransceiver interface object name 
-PASS RTCRtpTransceiver interface: existence and properties of interface prototype object 
-PASS RTCRtpTransceiver interface: existence and properties of interface prototype object's "constructor" property 
-PASS RTCRtpTransceiver interface: attribute mid 
-PASS RTCRtpTransceiver interface: attribute sender 
-PASS RTCRtpTransceiver interface: attribute receiver 
-PASS RTCRtpTransceiver interface: attribute stopped 
-PASS RTCRtpTransceiver interface: attribute direction 
-FAIL RTCRtpTransceiver interface: attribute currentDirection assert_true: The prototype object must have a property "currentDirection" expected true got false
-PASS RTCRtpTransceiver interface: operation setDirection(RTCRtpTransceiverDirection) 
-PASS RTCRtpTransceiver interface: operation stop() 
-FAIL RTCRtpTransceiver interface: operation setCodecPreferences([object Object]) assert_own_property: interface prototype object missing non-static operation expected property "setCodecPreferences" missing
-PASS RTCRtpTransceiver must be primary interface of new RTCPeerConnection().addTransceiver('audio') 
-PASS Stringification of new RTCPeerConnection().addTransceiver('audio') 
-PASS RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "mid" with the proper type 
-PASS RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "sender" with the proper type 
-PASS RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "receiver" with the proper type 
-PASS RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "stopped" with the proper type 
-PASS RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "direction" with the proper type 
-FAIL RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "currentDirection" with the proper type assert_inherits: property "currentDirection" not found in prototype chain
-PASS RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "setDirection(RTCRtpTransceiverDirection)" with the proper type 
-PASS RTCRtpTransceiver interface: calling setDirection(RTCRtpTransceiverDirection) on new RTCPeerConnection().addTransceiver('audio') with too few arguments must throw TypeError 
-PASS RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "stop()" with the proper type 
-FAIL RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "setCodecPreferences([object Object])" with the proper type assert_inherits: property "setCodecPreferences" not found in prototype chain
-FAIL RTCRtpTransceiver interface: calling setCodecPreferences([object Object]) on new RTCPeerConnection().addTransceiver('audio') with too few arguments must throw TypeError assert_inherits: property "setCodecPreferences" not found in prototype chain
-FAIL RTCDtlsTransport interface: existence and properties of interface object assert_own_property: self does not have own property "RTCDtlsTransport" expected property "RTCDtlsTransport" missing
-FAIL RTCDtlsTransport interface object length assert_own_property: self does not have own property "RTCDtlsTransport" expected property "RTCDtlsTransport" missing
-FAIL RTCDtlsTransport interface object name assert_own_property: self does not have own property "RTCDtlsTransport" expected property "RTCDtlsTransport" missing
-FAIL RTCDtlsTransport interface: existence and properties of interface prototype object assert_own_property: self does not have own property "RTCDtlsTransport" expected property "RTCDtlsTransport" missing
-FAIL RTCDtlsTransport interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "RTCDtlsTransport" expected property "RTCDtlsTransport" missing
-FAIL RTCDtlsTransport interface: attribute transport assert_own_property: self does not have own property "RTCDtlsTransport" expected property "RTCDtlsTransport" missing
-FAIL RTCDtlsTransport interface: attribute state assert_own_property: self does not have own property "RTCDtlsTransport" expected property "RTCDtlsTransport" missing
-FAIL RTCDtlsTransport interface: operation getRemoteCertificates() assert_own_property: self does not have own property "RTCDtlsTransport" expected property "RTCDtlsTransport" missing
-FAIL RTCDtlsTransport interface: attribute onstatechange assert_own_property: self does not have own property "RTCDtlsTransport" expected property "RTCDtlsTransport" missing
-FAIL RTCDtlsTransport must be primary interface of idlTestObjects.dtlsTransport assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL Stringification of idlTestObjects.dtlsTransport assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "transport" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "state" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "getRemoteCertificates()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "onstatechange" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-PASS RTCIceTransport interface: existence and properties of interface object 
-PASS RTCIceTransport interface object length 
-PASS RTCIceTransport interface object name 
-PASS RTCIceTransport interface: existence and properties of interface prototype object 
-PASS RTCIceTransport interface: existence and properties of interface prototype object's "constructor" property 
-FAIL RTCIceTransport interface: attribute role assert_true: The prototype object must have a property "role" expected true got false
-FAIL RTCIceTransport interface: attribute component assert_true: The prototype object must have a property "component" expected true got false
-PASS RTCIceTransport interface: attribute state 
-PASS RTCIceTransport interface: attribute gatheringState 
-FAIL RTCIceTransport interface: operation getLocalCandidates() assert_own_property: interface prototype object missing non-static operation expected property "getLocalCandidates" missing
-FAIL RTCIceTransport interface: operation getRemoteCandidates() assert_own_property: interface prototype object missing non-static operation expected property "getRemoteCandidates" missing
-FAIL RTCIceTransport interface: operation getSelectedCandidatePair() assert_own_property: interface prototype object missing non-static operation expected property "getSelectedCandidatePair" missing
-FAIL RTCIceTransport interface: operation getLocalParameters() assert_own_property: interface prototype object missing non-static operation expected property "getLocalParameters" missing
-FAIL RTCIceTransport interface: operation getRemoteParameters() assert_own_property: interface prototype object missing non-static operation expected property "getRemoteParameters" missing
-FAIL RTCIceTransport interface: attribute onstatechange assert_true: The prototype object must have a property "onstatechange" expected true got false
-FAIL RTCIceTransport interface: attribute ongatheringstatechange assert_true: The prototype object must have a property "ongatheringstatechange" expected true got false
-FAIL RTCIceTransport interface: attribute onselectedcandidatepairchange assert_true: The prototype object must have a property "onselectedcandidatepairchange" expected true got false
-FAIL RTCIceTransport must be primary interface of idlTestObjects.iceTransport assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL Stringification of idlTestObjects.iceTransport assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "role" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "component" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "state" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "gatheringState" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getLocalCandidates()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getRemoteCandidates()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getSelectedCandidatePair()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getLocalParameters()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getRemoteParameters()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "onstatechange" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "ongatheringstatechange" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "onselectedcandidatepairchange" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCTrackEvent interface: existence and properties of interface object undefined is not an object (evaluating 'this.array
-                     .members[this.base]
-                     .has_extended_attribute')
-PASS RTCTrackEvent interface object length 
-PASS RTCTrackEvent interface object name 
-FAIL RTCTrackEvent interface: existence and properties of interface prototype object undefined is not an object (evaluating 'this.array
-                         .members[inherit_interface]
-                         .has_extended_attribute')
-PASS RTCTrackEvent interface: existence and properties of interface prototype object's "constructor" property 
-PASS RTCTrackEvent interface: attribute receiver 
-PASS RTCTrackEvent interface: attribute track 
-PASS RTCTrackEvent interface: attribute streams 
-PASS RTCTrackEvent interface: attribute transceiver 
-PASS RTCTrackEvent must be primary interface of initTrackEvent() 
-FAIL Stringification of initTrackEvent() undefined is not an object (evaluating 'this.array.members[this.base].has_stringifier')
-PASS RTCTrackEvent interface: initTrackEvent() must inherit property "receiver" with the proper type 
-PASS RTCTrackEvent interface: initTrackEvent() must inherit property "track" with the proper type 
-PASS RTCTrackEvent interface: initTrackEvent() must inherit property "streams" with the proper type 
-PASS RTCTrackEvent interface: initTrackEvent() must inherit property "transceiver" with the proper type 
-FAIL RTCSctpTransport interface: existence and properties of interface object assert_own_property: self does not have own property "RTCSctpTransport" expected property "RTCSctpTransport" missing
-FAIL RTCSctpTransport interface object length assert_own_property: self does not have own property "RTCSctpTransport" expected property "RTCSctpTransport" missing
-FAIL RTCSctpTransport interface object name assert_own_property: self does not have own property "RTCSctpTransport" expected property "RTCSctpTransport" missing
-FAIL RTCSctpTransport interface: existence and properties of interface prototype object assert_own_property: self does not have own property "RTCSctpTransport" expected property "RTCSctpTransport" missing
-FAIL RTCSctpTransport interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "RTCSctpTransport" expected property "RTCSctpTransport" missing
-FAIL RTCSctpTransport interface: attribute transport assert_own_property: self does not have own property "RTCSctpTransport" expected property "RTCSctpTransport" missing
-FAIL RTCSctpTransport interface: attribute maxMessageSize assert_own_property: self does not have own property "RTCSctpTransport" expected property "RTCSctpTransport" missing
-FAIL RTCSctpTransport must be primary interface of idlTestObjects.sctpTransport assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL Stringification of idlTestObjects.sctpTransport assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "transport" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "maxMessageSize" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL RTCDataChannel interface: existence and properties of interface object undefined is not an object (evaluating 'this.array
-                     .members[this.base]
-                     .has_extended_attribute')
-PASS RTCDataChannel interface object length 
-PASS RTCDataChannel interface object name 
-FAIL RTCDataChannel interface: existence and properties of interface prototype object undefined is not an object (evaluating 'this.array
-                         .members[inherit_interface]
-                         .has_extended_attribute')
-PASS RTCDataChannel interface: existence and properties of interface prototype object's "constructor" property 
-PASS RTCDataChannel interface: attribute label 
-PASS RTCDataChannel interface: attribute ordered 
-PASS RTCDataChannel interface: attribute maxPacketLifeTime 
-PASS RTCDataChannel interface: attribute maxRetransmits 
-PASS RTCDataChannel interface: attribute protocol 
-PASS RTCDataChannel interface: attribute negotiated 
-PASS RTCDataChannel interface: attribute id 
-FAIL RTCDataChannel interface: attribute priority assert_true: The prototype object must have a property "priority" expected true got false
-PASS RTCDataChannel interface: attribute readyState 
-PASS RTCDataChannel interface: attribute bufferedAmount 
-PASS RTCDataChannel interface: attribute bufferedAmountLowThreshold 
-PASS RTCDataChannel interface: attribute onopen 
-PASS RTCDataChannel interface: attribute onbufferedamountlow 
-PASS RTCDataChannel interface: attribute onerror 
-PASS RTCDataChannel interface: attribute onclose 
-PASS RTCDataChannel interface: operation close() 
-PASS RTCDataChannel interface: attribute onmessage 
-PASS RTCDataChannel interface: attribute binaryType 
-PASS RTCDataChannel interface: operation send(USVString) 
-PASS RTCDataChannel interface: operation send(Blob) 
-PASS RTCDataChannel interface: operation send(ArrayBuffer) 
-PASS RTCDataChannel interface: operation send(ArrayBufferView) 
-PASS RTCDataChannel must be primary interface of new RTCPeerConnection().createDataChannel('') 
-FAIL Stringification of new RTCPeerConnection().createDataChannel('') undefined is not an object (evaluating 'this.array.members[this.base].has_stringifier')
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "label" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "ordered" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "maxPacketLifeTime" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "maxRetransmits" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "protocol" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "negotiated" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "id" with the proper type 
-FAIL RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "priority" with the proper type assert_inherits: property "priority" not found in prototype chain
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "readyState" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "bufferedAmount" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "bufferedAmountLowThreshold" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "onopen" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "onbufferedamountlow" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "onerror" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "onclose" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "close()" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "onmessage" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "binaryType" with the proper type 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "send(USVString)" with the proper type 
-PASS RTCDataChannel interface: calling send(USVString) on new RTCPeerConnection().createDataChannel('') with too few arguments must throw TypeError 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "send(Blob)" with the proper type 
-PASS RTCDataChannel interface: calling send(Blob) on new RTCPeerConnection().createDataChannel('') with too few arguments must throw TypeError 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "send(ArrayBuffer)" with the proper type 
-PASS RTCDataChannel interface: calling send(ArrayBuffer) on new RTCPeerConnection().createDataChannel('') with too few arguments must throw TypeError 
-PASS RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "send(ArrayBufferView)" with the proper type 
-PASS RTCDataChannel interface: calling send(ArrayBufferView) on new RTCPeerConnection().createDataChannel('') with too few arguments must throw TypeError 
-FAIL RTCDataChannelEvent interface: existence and properties of interface object undefined is not an object (evaluating 'this.array
-                     .members[this.base]
-                     .has_extended_attribute')
-PASS RTCDataChannelEvent interface object length 
-PASS RTCDataChannelEvent interface object name 
-FAIL RTCDataChannelEvent interface: existence and properties of interface prototype object undefined is not an object (evaluating 'this.array
-                         .members[inherit_interface]
-                         .has_extended_attribute')
-PASS RTCDataChannelEvent interface: existence and properties of interface prototype object's "constructor" property 
-PASS RTCDataChannelEvent interface: attribute channel 
-PASS RTCDataChannelEvent must be primary interface of new RTCDataChannelEvent('channel',
-        { channel: new RTCPeerConnection().createDataChannel('') }) 
-FAIL Stringification of new RTCDataChannelEvent('channel',
-        { channel: new RTCPeerConnection().createDataChannel('') }) undefined is not an object (evaluating 'this.array.members[this.base].has_stringifier')
-PASS RTCDataChannelEvent interface: new RTCDataChannelEvent('channel',
-        { channel: new RTCPeerConnection().createDataChannel('') }) must inherit property "channel" with the proper type 
-FAIL RTCDTMFSender interface: existence and properties of interface object assert_own_property: self does not have own property "RTCDTMFSender" expected property "RTCDTMFSender" missing
-FAIL RTCDTMFSender interface object length assert_own_property: self does not have own property "RTCDTMFSender" expected property "RTCDTMFSender" missing
-FAIL RTCDTMFSender interface object name assert_own_property: self does not have own property "RTCDTMFSender" expected property "RTCDTMFSender" missing
-FAIL RTCDTMFSender interface: existence and properties of interface prototype object assert_own_property: self does not have own property "RTCDTMFSender" expected property "RTCDTMFSender" missing
-FAIL RTCDTMFSender interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "RTCDTMFSender" expected property "RTCDTMFSender" missing
-FAIL RTCDTMFSender interface: operation insertDTMF(DOMString, unsigned long, unsigned long) assert_own_property: self does not have own property "RTCDTMFSender" expected property "RTCDTMFSender" missing
-FAIL RTCDTMFSender interface: attribute ontonechange assert_own_property: self does not have own property "RTCDTMFSender" expected property "RTCDTMFSender" missing
-FAIL RTCDTMFSender interface: attribute toneBuffer assert_own_property: self does not have own property "RTCDTMFSender" expected property "RTCDTMFSender" missing
-FAIL RTCDTMFToneChangeEvent interface: existence and properties of interface object assert_own_property: self does not have own property "RTCDTMFToneChangeEvent" expected property "RTCDTMFToneChangeEvent" missing
-FAIL RTCDTMFToneChangeEvent interface object length assert_own_property: self does not have own property "RTCDTMFToneChangeEvent" expected property "RTCDTMFToneChangeEvent" missing
-FAIL RTCDTMFToneChangeEvent interface object name assert_own_property: self does not have own property "RTCDTMFToneChangeEvent" expected property "RTCDTMFToneChangeEvent" missing
-FAIL RTCDTMFToneChangeEvent interface: existence and properties of interface prototype object assert_own_property: self does not have own property "RTCDTMFToneChangeEvent" expected property "RTCDTMFToneChangeEvent" missing
-FAIL RTCDTMFToneChangeEvent interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "RTCDTMFToneChangeEvent" expected property "RTCDTMFToneChangeEvent" missing
-FAIL RTCDTMFToneChangeEvent interface: attribute tone assert_own_property: self does not have own property "RTCDTMFToneChangeEvent" expected property "RTCDTMFToneChangeEvent" missing
-PASS RTCStatsReport interface: existence and properties of interface object 
-PASS RTCStatsReport interface object length 
-PASS RTCStatsReport interface object name 
-PASS RTCStatsReport interface: existence and properties of interface prototype object 
-PASS RTCStatsReport interface: existence and properties of interface prototype object's "constructor" property 
-PASS RTCIdentityProviderGlobalScope interface: existence and properties of interface object 
-PASS RTCIdentityProviderRegistrar interface: existence and properties of interface object 
-FAIL RTCIdentityAssertion interface: existence and properties of interface object assert_own_property: self does not have own property "RTCIdentityAssertion" expected property "RTCIdentityAssertion" missing
-FAIL RTCIdentityAssertion interface object length assert_own_property: self does not have own property "RTCIdentityAssertion" expected property "RTCIdentityAssertion" missing
-FAIL RTCIdentityAssertion interface object name assert_own_property: self does not have own property "RTCIdentityAssertion" expected property "RTCIdentityAssertion" missing
-FAIL RTCIdentityAssertion interface: existence and properties of interface prototype object assert_own_property: self does not have own property "RTCIdentityAssertion" expected property "RTCIdentityAssertion" missing
-FAIL RTCIdentityAssertion interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "RTCIdentityAssertion" expected property "RTCIdentityAssertion" missing
-FAIL RTCIdentityAssertion interface: attribute idp assert_own_property: self does not have own property "RTCIdentityAssertion" expected property "RTCIdentityAssertion" missing
-FAIL RTCIdentityAssertion interface: attribute name assert_own_property: self does not have own property "RTCIdentityAssertion" expected property "RTCIdentityAssertion" missing
-FAIL RTCErrorEvent interface: existence and properties of interface object assert_own_property: self does not have own property "RTCErrorEvent" expected property "RTCErrorEvent" missing
-FAIL RTCErrorEvent interface object length assert_own_property: self does not have own property "RTCErrorEvent" expected property "RTCErrorEvent" missing
-FAIL RTCErrorEvent interface object name assert_own_property: self does not have own property "RTCErrorEvent" expected property "RTCErrorEvent" missing
-FAIL RTCErrorEvent interface: existence and properties of interface prototype object assert_own_property: self does not have own property "RTCErrorEvent" expected property "RTCErrorEvent" missing
-FAIL RTCErrorEvent interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "RTCErrorEvent" expected property "RTCErrorEvent" missing
-FAIL RTCErrorEvent interface: attribute error assert_own_property: self does not have own property "RTCErrorEvent" expected property "RTCErrorEvent" missing
-FAIL RTCErrorEvent must be primary interface of new RTCErrorEvent('error') assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCErrorEvent"
-FAIL Stringification of new RTCErrorEvent('error') assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCErrorEvent"
-FAIL RTCErrorEvent interface: new RTCErrorEvent('error') must inherit property "error" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCErrorEvent"
-
index 383c71f..601176a 100644 (file)
@@ -1,3 +1,14 @@
+2018-09-18  Youenn Fablet  <youenn@apple.com>
+
+        Implement RTCRtpReceiver getContributingSources/getSynchronizationSources
+        https://bugs.webkit.org/show_bug.cgi?id=189671
+
+        Reviewed by Eric Carlson.
+
+        * Configurations/libwebrtc.iOS.exp:
+        * Configurations/libwebrtc.iOSsim.exp:
+        * Configurations/libwebrtc.mac.exp:
+
 2018-09-17  Youenn Fablet  <youenn@apple.com>
 
         Build fix after https://trac.webkit.org/changeset/236070
index 76497e3..939d2a8 100644 (file)
@@ -214,3 +214,4 @@ __ZN6webrtc21RtpEncodingParametersC1Ev
 __ZN6webrtc21RtpEncodingParametersD1Ev
 __ZN6webrtc18RtpTransceiverInitC1Ev
 __ZN6webrtc18RtpTransceiverInitD1Ev
+__ZN6webrtc9RtpSourceD1Ev
index 1e713ce..09b048c 100644 (file)
@@ -213,6 +213,6 @@ __ZN6webrtc12RtpExtensionD1Ev
 __ZN6webrtc21RtpEncodingParametersC1ERKS0_
 __ZN6webrtc21RtpEncodingParametersC1Ev
 __ZN6webrtc21RtpEncodingParametersD1Ev
-
 __ZN6webrtc18RtpTransceiverInitC1Ev
 __ZN6webrtc18RtpTransceiverInitD1Ev
+__ZN6webrtc9RtpSourceD1Ev
index c2e741b..09b048c 100644 (file)
@@ -215,3 +215,4 @@ __ZN6webrtc21RtpEncodingParametersC1Ev
 __ZN6webrtc21RtpEncodingParametersD1Ev
 __ZN6webrtc18RtpTransceiverInitC1Ev
 __ZN6webrtc18RtpTransceiverInitD1Ev
+__ZN6webrtc9RtpSourceD1Ev
index 29cef4a..f7853e1 100644 (file)
@@ -321,6 +321,7 @@ set(WebCore_NON_SVG_IDL_FILES
     Modules/mediastream/RTCPeerConnectionState.idl
     Modules/mediastream/RTCPriorityType.idl
     Modules/mediastream/RTCRtpCodecParameters.idl
+    Modules/mediastream/RTCRtpContributingSource.idl
     Modules/mediastream/RTCRtpEncodingParameters.idl
     Modules/mediastream/RTCRtpFecParameters.idl
     Modules/mediastream/RTCRtpHeaderExtensionParameters.idl
@@ -329,6 +330,7 @@ set(WebCore_NON_SVG_IDL_FILES
     Modules/mediastream/RTCRtpRtxParameters.idl
     Modules/mediastream/RTCRtpSendParameters.idl
     Modules/mediastream/RTCRtpSender.idl
+    Modules/mediastream/RTCRtpSynchronizationSource.idl
     Modules/mediastream/RTCRtpTransceiver.idl
     Modules/mediastream/RTCRtpTransceiverDirection.idl
     Modules/mediastream/RTCSessionDescription.idl
index 320b069..d16731e 100644 (file)
@@ -1,5 +1,39 @@
 2018-09-18  Youenn Fablet  <youenn@apple.com>
 
+        Implement RTCRtpReceiver getContributingSources/getSynchronizationSources
+        https://bugs.webkit.org/show_bug.cgi?id=189671
+
+        Reviewed by Eric Carlson.
+
+        Introduce implementation of these two methods by calling the libwebrtc corresponding method.
+        Add corresponding IDL as per spec.
+        Covered by rebased WPT tests.
+
+        * CMakeLists.txt:
+        * DerivedSources.make:
+        * Modules/mediastream/RTCRtpContributingSource.h: Added.
+        * Modules/mediastream/RTCRtpContributingSource.idl: Added.
+        * Modules/mediastream/RTCRtpReceiver.h:
+        (WebCore::RTCRtpReceiver::getContributingSources const):
+        (WebCore::RTCRtpReceiver::getSynchronizationSources const):
+        * Modules/mediastream/RTCRtpReceiver.idl:
+        * Modules/mediastream/RTCRtpReceiverBackend.h:
+        (WebCore::RTCRtpReceiverBackend::getContributingSources const):
+        (WebCore::RTCRtpReceiverBackend::getSynchronizationSources const):
+        * Modules/mediastream/RTCRtpSynchronizationSource.h: Added.
+        * Modules/mediastream/RTCRtpSynchronizationSource.idl: Added.
+        * Modules/mediastream/libwebrtc/LibWebRTCRtpReceiverBackend.cpp:
+        (WebCore::fillRTCRtpContributingSource):
+        (WebCore::toRTCRtpContributingSource):
+        (WebCore::toRTCRtpSynchronizationSource):
+        (WebCore::LibWebRTCRtpReceiverBackend::getContributingSources const):
+        (WebCore::LibWebRTCRtpReceiverBackend::getSynchronizationSources const):
+        * Modules/mediastream/libwebrtc/LibWebRTCRtpReceiverBackend.h:
+        * Sources.txt:
+        * WebCore.xcodeproj/project.pbxproj:
+
+2018-09-18  Youenn Fablet  <youenn@apple.com>
+
         Enable Unified Plan by default
         https://bugs.webkit.org/show_bug.cgi?id=189675
 
index e6a427d..bb25ff9 100644 (file)
@@ -245,6 +245,7 @@ JS_BINDING_IDLS = \
     $(WebCore)/Modules/mediastream/RTCPeerConnection.idl \
     $(WebCore)/Modules/mediastream/RTCPeerConnectionState.idl \
     $(WebCore)/Modules/mediastream/RTCRtpCodecParameters.idl \
+    $(WebCore)/Modules/mediastream/RTCRtpContributingSource.idl \
     $(WebCore)/Modules/mediastream/RTCRtpEncodingParameters.idl \
     $(WebCore)/Modules/mediastream/RTCRtpFecParameters.idl \
     $(WebCore)/Modules/mediastream/RTCRtpHeaderExtensionParameters.idl \
@@ -255,6 +256,7 @@ JS_BINDING_IDLS = \
     $(WebCore)/Modules/mediastream/RTCRtpSender.idl \
     $(WebCore)/Modules/mediastream/RTCRtpTransceiver.idl \
     $(WebCore)/Modules/mediastream/RTCRtpTransceiverDirection.idl \
+    $(WebCore)/Modules/mediastream/RTCRtpSynchronizationSource.idl \
     $(WebCore)/Modules/mediastream/RTCSessionDescription.idl \
     $(WebCore)/Modules/mediastream/RTCSignalingState.idl \
     $(WebCore)/Modules/mediastream/RTCStatsReport.idl \
diff --git a/Source/WebCore/Modules/mediastream/RTCRtpContributingSource.h b/Source/WebCore/Modules/mediastream/RTCRtpContributingSource.h
new file mode 100644 (file)
index 0000000..8d89753
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2018 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(WEB_RTC)
+
+namespace WebCore {
+
+struct RTCRtpContributingSource {
+    double timestamp;
+    unsigned long source;
+    std::optional<double> audioLevel;
+};
+
+
+} // namespace WebCore
+
+#endif // ENABLE(WEB_RTC)
diff --git a/Source/WebCore/Modules/mediastream/RTCRtpContributingSource.idl b/Source/WebCore/Modules/mediastream/RTCRtpContributingSource.idl
new file mode 100644 (file)
index 0000000..f058150
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+* Copyright (C) 2018 Apple Inc. All rights reserved.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+* 1. Redistributions of source code must retain the above copyright
+*    notice, this list of conditions and the following disclaimer.
+* 2. Redistributions in binary form must reproduce the above copyright
+*    notice, this list of conditions and the following disclaimer in the
+*    documentation and/or other materials provided with the distribution.
+*
+* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+* THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+typedef double DOMHighResTimeStamp;
+
+[
+    Conditional=WEB_RTC,
+    EnabledAtRuntime=PeerConnection,
+    JSGenerateToJSObject,
+] dictionary RTCRtpContributingSource {
+    required DOMHighResTimeStamp timestamp;
+    required unsigned long source;
+    double audioLevel;
+};
index 5d2ec71..532e2c0 100644 (file)
@@ -34,6 +34,7 @@
 
 #include "MediaStreamTrack.h"
 #include "RTCRtpReceiverBackend.h"
+#include "RTCRtpSynchronizationSource.h"
 #include "ScriptWrappable.h"
 
 namespace WebCore {
@@ -50,6 +51,8 @@ public:
 
     void setBackend(std::unique_ptr<RTCRtpReceiverBackend>&& backend) { m_backend = WTFMove(backend); }
     RTCRtpParameters getParameters() { return m_backend ? m_backend->getParameters() : RTCRtpParameters(); }
+    Vector<RTCRtpContributingSource> getContributingSources() const { return m_backend ? m_backend->getContributingSources() : Vector<RTCRtpContributingSource> { }; }
+    Vector<RTCRtpSynchronizationSource> getSynchronizationSources() const { return m_backend ? m_backend->getSynchronizationSources() : Vector<RTCRtpSynchronizationSource> { }; }
 
     MediaStreamTrack& track() { return m_track.get(); }
 
index e5c9cdd..9f53d5d 100644 (file)
@@ -39,5 +39,6 @@
     // FIXME 169662: missing transport
     // FIXME 169662: missing rtcpTransport
     // FIXME 169662: missing getCapabilities
-    // FIXME 169662: missing getContributingSources
+    sequence<RTCRtpContributingSource> getContributingSources();
+    sequence<RTCRtpSynchronizationSource> getSynchronizationSources();
 };
index 137d646..782dd67 100644 (file)
@@ -27,6 +27,7 @@
 #if ENABLE(WEB_RTC)
 
 #include "RTCRtpParameters.h"
+#include "RTCRtpSynchronizationSource.h"
 
 namespace WebCore {
 
@@ -34,6 +35,8 @@ class RTCRtpReceiverBackend {
 public:
     virtual ~RTCRtpReceiverBackend() = default;
     virtual RTCRtpParameters getParameters() { return { }; }
+    virtual Vector<RTCRtpContributingSource> getContributingSources() const { return { }; }
+    virtual Vector<RTCRtpSynchronizationSource> getSynchronizationSources() const { return { }; }
 };
 
 } // namespace WebCore
diff --git a/Source/WebCore/Modules/mediastream/RTCRtpSynchronizationSource.h b/Source/WebCore/Modules/mediastream/RTCRtpSynchronizationSource.h
new file mode 100644 (file)
index 0000000..7f33816
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2018 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(WEB_RTC)
+
+#include "RTCRtpContributingSource.h"
+
+namespace WebCore {
+
+struct RTCRtpSynchronizationSource : RTCRtpContributingSource {
+    std::optional<bool> voiceActivityFlag;
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(WEB_RTC)
diff --git a/Source/WebCore/Modules/mediastream/RTCRtpSynchronizationSource.idl b/Source/WebCore/Modules/mediastream/RTCRtpSynchronizationSource.idl
new file mode 100644 (file)
index 0000000..02bdaba
--- /dev/null
@@ -0,0 +1,34 @@
+/*
+* Copyright (C) 2018 Apple Inc. All rights reserved.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+* 1. Redistributions of source code must retain the above copyright
+*    notice, this list of conditions and the following disclaimer.
+* 2. Redistributions in binary form must reproduce the above copyright
+*    notice, this list of conditions and the following disclaimer in the
+*    documentation and/or other materials provided with the distribution.
+*
+* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+* THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+typedef double DOMHighResTimeStamp;
+
+[
+    Conditional=WEB_RTC,
+    EnabledAtRuntime=PeerConnection,
+    JSGenerateToJSObject,
+] dictionary RTCRtpSynchronizationSource : RTCRtpContributingSource {
+    boolean voiceActivityFlag;
+};
index 5406d86..6a0beb3 100644 (file)
@@ -36,6 +36,48 @@ RTCRtpParameters LibWebRTCRtpReceiverBackend::getParameters()
     return toRTCRtpParameters(m_rtcReceiver->GetParameters());
 }
 
+static inline void fillRTCRtpContributingSource(RTCRtpContributingSource& source, const webrtc::RtpSource& rtcSource)
+{
+    source.timestamp = rtcSource.timestamp_ms();
+    source.source = rtcSource.source_id();
+    if (rtcSource.audio_level())
+        source.audioLevel = *rtcSource.audio_level();
+}
+
+static inline RTCRtpContributingSource toRTCRtpContributingSource(const webrtc::RtpSource& rtcSource)
+{
+    RTCRtpContributingSource source;
+    fillRTCRtpContributingSource(source, rtcSource);
+    return source;
+}
+
+static inline RTCRtpSynchronizationSource toRTCRtpSynchronizationSource(const webrtc::RtpSource& rtcSource)
+{
+    RTCRtpSynchronizationSource source;
+    fillRTCRtpContributingSource(source, rtcSource);
+    return source;
+}
+
+Vector<RTCRtpContributingSource> LibWebRTCRtpReceiverBackend::getContributingSources() const
+{
+    Vector<RTCRtpContributingSource> sources;
+    for (auto& rtcSource : m_rtcReceiver->GetSources()) {
+        if (rtcSource.source_type() == webrtc::RtpSourceType::CSRC)
+            sources.append(toRTCRtpContributingSource(rtcSource));
+    }
+    return sources;
+}
+
+Vector<RTCRtpSynchronizationSource> LibWebRTCRtpReceiverBackend::getSynchronizationSources() const
+{
+    Vector<RTCRtpSynchronizationSource> sources;
+    for (auto& rtcSource : m_rtcReceiver->GetSources()) {
+        if (rtcSource.source_type() == webrtc::RtpSourceType::SSRC)
+            sources.uncheckedAppend(toRTCRtpSynchronizationSource(rtcSource));
+    }
+    return sources;
+}
+
 } // namespace WebCore
 
 #endif // ENABLE(WEB_RTC) && USE(LIBWEBRTC)
index f157336..fd0d95e 100644 (file)
@@ -47,6 +47,8 @@ public:
 
 private:
     RTCRtpParameters getParameters() final;
+    Vector<RTCRtpContributingSource> getContributingSources() const final;
+    Vector<RTCRtpSynchronizationSource> getSynchronizationSources() const final;
 
     rtc::scoped_refptr<webrtc::RtpReceiverInterface> m_rtcReceiver;
 };
index a13d20d..3062354 100644 (file)
@@ -2879,6 +2879,7 @@ JSRTCPeerConnectionIceEvent.cpp
 JSRTCPeerConnectionState.cpp
 JSRTCPriorityType.cpp
 JSRTCRtpCodecParameters.cpp
+JSRTCRtpContributingSource.cpp
 JSRTCRtpEncodingParameters.cpp
 JSRTCRtpFecParameters.cpp
 JSRTCRtpHeaderExtensionParameters.cpp
@@ -2887,6 +2888,7 @@ JSRTCRtpRtxParameters.cpp
 JSRTCRtpReceiver.cpp
 JSRTCRtpSendParameters.cpp
 JSRTCRtpSender.cpp
+JSRTCRtpSynchronizationSource.cpp
 JSRTCRtpTransceiver.cpp
 JSRTCRtpTransceiverDirection.cpp
 JSRTCSessionDescription.cpp
index 6172a03..4e66e92 100644 (file)
                4157EBF91E3AB06800AC9FE9 /* MockLibWebRTCPeerConnection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MockLibWebRTCPeerConnection.cpp; sourceTree = "<group>"; };
                415A3B732138E264001B4BAA /* LibWebRTCObservers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LibWebRTCObservers.h; path = libwebrtc/LibWebRTCObservers.h; sourceTree = "<group>"; };
                415CDAF61E6CE0D3004F11EE /* JSMediaStreamTrackCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaStreamTrackCustom.cpp; sourceTree = "<group>"; };
+               415E1BB3215010800022DA96 /* RTCRtpContributingSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RTCRtpContributingSource.h; sourceTree = "<group>"; };
+               415E1BB5215010810022DA96 /* RTCRtpContributingSource.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = RTCRtpContributingSource.idl; sourceTree = "<group>"; };
+               415E1BB62150152A0022DA96 /* RTCRtpSynchronizationSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RTCRtpSynchronizationSource.h; sourceTree = "<group>"; };
+               415E1BB7215015300022DA96 /* RTCRtpSynchronizationSource.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = RTCRtpSynchronizationSource.idl; sourceTree = "<group>"; };
                41614A761DA64236004AD06F /* HTTPHeaderValues.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTTPHeaderValues.cpp; sourceTree = "<group>"; };
                41614A771DA64236004AD06F /* HTTPHeaderValues.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPHeaderValues.h; sourceTree = "<group>"; };
                4162A44D101145AE00DFF3ED /* DedicatedWorkerGlobalScope.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DedicatedWorkerGlobalScope.cpp; sourceTree = "<group>"; };
                                41FCB759214865D30038ADC6 /* RTCRtpCodecParameters.idl */,
                                414AD3FF21498D3000521676 /* RTCRtpCodingParameters.h */,
                                414AD40221498D3200521676 /* RTCRtpCodingParameters.idl */,
+                               415E1BB3215010800022DA96 /* RTCRtpContributingSource.h */,
+                               415E1BB5215010810022DA96 /* RTCRtpContributingSource.idl */,
                                414AD40021498D3100521676 /* RTCRtpDecodingParameters.h */,
                                414AD40121498D3100521676 /* RTCRtpDecodingParameters.idl */,
                                41FCB761214867000038ADC6 /* RTCRtpEncodingParameters.h */,
                                41D1A046213EDDEB0063FB6B /* RTCRtpSenderBackend.h */,
                                414AD3FC2149842000521676 /* RTCRtpSendParameters.h */,
                                414AD3FE2149842000521676 /* RTCRtpSendParameters.idl */,
+                               415E1BB62150152A0022DA96 /* RTCRtpSynchronizationSource.h */,
+                               415E1BB7215015300022DA96 /* RTCRtpSynchronizationSource.idl */,
                                5E5E2B101CFC3E4B000C0D85 /* RTCRtpTransceiver.cpp */,
                                5E5E2B111CFC3E4B000C0D85 /* RTCRtpTransceiver.h */,
                                5E5E2B121CFC3E4B000C0D85 /* RTCRtpTransceiver.idl */,