Title: [238100] trunk
Revision
238100
Author
you...@apple.com
Date
2018-11-12 11:12:28 -0800 (Mon, 12 Nov 2018)

Log Message

Support setting stream ids when adding a transceiver
https://bugs.webkit.org/show_bug.cgi?id=191307

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

* web-platform-tests/webrtc/RTCPeerConnection-transceivers.https-expected.txt:
* web-platform-tests/webrtc/RTCRtpTransceiver.https-expected.txt:

Source/WebCore:

Add support for streams in RTCTransceiverInit.
Add plumbing down to libwebrtc.
Covered by rebased tests.

* Modules/mediastream/RTCPeerConnection.h:
* Modules/mediastream/RTCPeerConnection.idl:
* Modules/mediastream/libwebrtc/LibWebRTCUtils.cpp:
(WebCore::fromRtpTransceiverInit):

LayoutTests:

* TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (238099 => 238100)


--- trunk/LayoutTests/ChangeLog	2018-11-12 19:07:26 UTC (rev 238099)
+++ trunk/LayoutTests/ChangeLog	2018-11-12 19:12:28 UTC (rev 238100)
@@ -1,3 +1,12 @@
+2018-11-12  Youenn Fablet  <you...@apple.com>
+
+        Support setting stream ids when adding a transceiver
+        https://bugs.webkit.org/show_bug.cgi?id=191307
+
+        Reviewed by Eric Carlson.
+
+        * TestExpectations:
+
 2018-11-12  Antti Koivisto  <an...@apple.com>
 
         Support dynamic pseudo-classes on elements with display: contents

Modified: trunk/LayoutTests/TestExpectations (238099 => 238100)


--- trunk/LayoutTests/TestExpectations	2018-11-12 19:07:26 UTC (rev 238099)
+++ trunk/LayoutTests/TestExpectations	2018-11-12 19:12:28 UTC (rev 238100)
@@ -1232,7 +1232,6 @@
 webkit.org/b/171094 imported/w3c/web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl.html [ Failure ]
 webkit.org/b/172f21 imported/w3c/web-platform-tests/webrtc/getstats.html [ Failure ]
 imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-offer.html [ Failure ]
-imported/w3c/web-platform-tests/webrtc/RTCRtpTransceiver.https.html [ Failure ]
 # Skip timing out test
 imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-tracks.https.html [ Skip ]
 

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (238099 => 238100)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2018-11-12 19:07:26 UTC (rev 238099)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2018-11-12 19:12:28 UTC (rev 238100)
@@ -1,3 +1,13 @@
+2018-11-12  Youenn Fablet  <you...@apple.com>
+
+        Support setting stream ids when adding a transceiver
+        https://bugs.webkit.org/show_bug.cgi?id=191307
+
+        Reviewed by Eric Carlson.
+
+        * web-platform-tests/webrtc/RTCPeerConnection-transceivers.https-expected.txt:
+        * web-platform-tests/webrtc/RTCRtpTransceiver.https-expected.txt:
+
 2018-11-12  Eric Carlson  <eric.carl...@apple.com>
 
         Require <iframe allow="display"> for an iframe to use getDisplayMedia

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-transceivers.https-expected.txt (238099 => 238100)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-transceivers.https-expected.txt	2018-11-12 19:07:26 UTC (rev 238099)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-transceivers.https-expected.txt	2018-11-12 19:12:28 UTC (rev 238100)
@@ -25,8 +25,8 @@
 PASS addTransceiver(track, init): initialize direction to inactive 
 FAIL addTransceiver(track, init): initialize sendEncodings[0].active to false assert_false: expected false got true
 PASS addTransceiver(0 streams): ontrack fires with no stream 
-FAIL addTransceiver(1 stream): ontrack fires with corresponding stream assert_equals: trackEvent.streams.length == 1 expected 1 but got 0
-FAIL addTransceiver(2 streams): ontrack fires with corresponding two streams assert_equals: trackEvent.streams.length == 2 expected 2 but got 0
+PASS addTransceiver(1 stream): ontrack fires with corresponding stream 
+PASS addTransceiver(2 streams): ontrack fires with corresponding two streams 
 PASS addTrack(0 streams): ontrack fires with no stream 
 PASS addTrack(1 stream): ontrack fires with corresponding stream 
 PASS addTrack(2 streams): ontrack fires with corresponding two streams 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCRtpTransceiver.https-expected.txt (238099 => 238100)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCRtpTransceiver.https-expected.txt	2018-11-12 19:07:26 UTC (rev 238099)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCRtpTransceiver.https-expected.txt	2018-11-12 19:12:28 UTC (rev 238100)
@@ -5,11 +5,11 @@
 PASS checkAddTransceiverWithTrack 
 PASS checkAddTransceiverWithAddTrack 
 PASS checkAddTransceiverWithDirection 
-FAIL checkAddTransceiverWithStream assert_true: offer contains the expected audio msid expected true got false
+PASS checkAddTransceiverWithStream 
 FAIL checkAddTransceiverWithOfferToReceiveAudio assert_equals: expected "[{currentDirection:null,direction:\"recvonly\",mid:null,receiver:{track:{kind:\"audio\"}},sender:{track:null},stopped:false}]" but got "[]"
 FAIL checkAddTransceiverWithOfferToReceiveVideo assert_equals: expected "[{currentDirection:null,direction:\"recvonly\",mid:null,receiver:{track:{kind:\"video\"}},sender:{track:null},stopped:false}]" but got "[]"
 FAIL checkAddTransceiverWithOfferToReceiveBoth assert_equals: expected "[{currentDirection:null,direction:\"recvonly\",mid:null,receiver:{track:{kind:\"audio\"}},sender:{track:null},stopped:false},{currentDirection:null,direction:\"recvonly\",mid:null,receiver:{track:{kind:\"video\"}},sender:{track:null},stopped:false}]" but got "[]"
-FAIL checkAddTransceiverWithSetRemoteOfferSending assert_equals: expected "[{streams:[{id:\"117b0a30-7f2b-4595-8183-98bd8a7599bb\"}],track:{}}]" but got "[{streams:[],track:{}}]"
+PASS checkAddTransceiverWithSetRemoteOfferSending 
 FAIL checkAddTransceiverWithSetRemoteOfferNoSend assert_equals: expected "[{currentDirection:null,direction:\"recvonly\",receiver:{track:{kind:\"audio\"}},sender:{track:null},stopped:false}]" but got "[]"
 PASS checkAddTransceiverBadKind 
 FAIL checkNoMidOffer promise_test: Unhandled rejection with value: object "OperationError: Failed to set remote offer sdp: The BUNDLE group contains MID:0 matching no m= section."
@@ -16,7 +16,7 @@
 PASS checkSetDirection 
 PASS checkCurrentDirection 
 PASS checkSendrecvWithNoSendTrack 
-FAIL checkSendrecvWithTracklessStream assert_equals: expected "[{streams:[{id:\"8a46ae8c-120e-42a0-9272-94c79a7745be\"}],track:{}}]" but got "[{streams:[],track:{}}]"
+PASS checkSendrecvWithTracklessStream 
 PASS checkAddTransceiverNoTrackDoesntPair 
 PASS checkAddTransceiverWithTrackDoesntPair 
 PASS checkAddTransceiverThenReplaceTrackDoesntPair 

Modified: trunk/Source/WebCore/ChangeLog (238099 => 238100)


--- trunk/Source/WebCore/ChangeLog	2018-11-12 19:07:26 UTC (rev 238099)
+++ trunk/Source/WebCore/ChangeLog	2018-11-12 19:12:28 UTC (rev 238100)
@@ -1,3 +1,19 @@
+2018-11-12  Youenn Fablet  <you...@apple.com>
+
+        Support setting stream ids when adding a transceiver
+        https://bugs.webkit.org/show_bug.cgi?id=191307
+
+        Reviewed by Eric Carlson.
+
+        Add support for streams in RTCTransceiverInit.
+        Add plumbing down to libwebrtc.
+        Covered by rebased tests.
+
+        * Modules/mediastream/RTCPeerConnection.h:
+        * Modules/mediastream/RTCPeerConnection.idl:
+        * Modules/mediastream/libwebrtc/LibWebRTCUtils.cpp:
+        (WebCore::fromRtpTransceiverInit):
+
 2018-11-12  Antti Koivisto  <an...@apple.com>
 
         Support dynamic pseudo-classes on elements with display: contents

Modified: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h (238099 => 238100)


--- trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h	2018-11-12 19:07:26 UTC (rev 238099)
+++ trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h	2018-11-12 19:12:28 UTC (rev 238100)
@@ -51,6 +51,7 @@
 
 namespace WebCore {
 
+class MediaStream;
 class MediaStreamTrack;
 class PeerConnectionBackend;
 class RTCController;
@@ -62,8 +63,10 @@
 struct RTCAnswerOptions;
 struct RTCOfferOptions;
 struct RTCRtpParameters;
+
 struct RTCRtpTransceiverInit {
-    RTCRtpTransceiverDirection direction;
+    RTCRtpTransceiverDirection direction { RTCRtpTransceiverDirection::Sendrecv };
+    Vector<RefPtr<MediaStream>> streams;
 };
 
 class RTCPeerConnection final

Modified: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl (238099 => 238100)


--- trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl	2018-11-12 19:07:26 UTC (rev 238099)
+++ trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl	2018-11-12 19:12:28 UTC (rev 238100)
@@ -66,7 +66,7 @@
     ImplementedAs=RTCRtpTransceiverInit
 ] dictionary RTCRtpTransceiverInit {
     RtpTransceiverDirection direction = "sendrecv";
-    // FIXME 169662: missing streams
+    sequence<MediaStream> streams = [];
     // FIXME 169662: missing sendEncodings
 };
 

Modified: trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCUtils.cpp (238099 => 238100)


--- trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCUtils.cpp	2018-11-12 19:07:26 UTC (rev 238099)
+++ trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCUtils.cpp	2018-11-12 19:12:28 UTC (rev 238100)
@@ -228,9 +228,11 @@
 {
     webrtc::RtpTransceiverInit rtcInit;
     rtcInit.direction = fromRTCRtpTransceiverDirection(init.direction);
+    for (auto& stream : init.streams)
+        rtcInit.stream_ids.push_back(stream->id().utf8().data());
     return rtcInit;
 }
 
-}; // namespace WebCore
+} // namespace WebCore
 
 #endif // USE(LIBWEBRTC)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to