recvonly-transceiver-can-become-sendrecv.https.html (1625B)
1 <!doctype html> 2 <meta charset=utf-8> 3 <script src="/resources/testharness.js"></script> 4 <script src="/resources/testharnessreport.js"></script> 5 <script> 6 'use strict'; 7 8 promise_test(async t => { 9 const pc1 = new RTCPeerConnection(); 10 t.add_cleanup(() => pc1.close()); 11 const pc2 = new RTCPeerConnection(); 12 t.add_cleanup(() => pc2.close()); 13 14 const audioTransceiver = pc1.addTransceiver('audio', {direction:'recvonly'}); 15 16 await pc1.setLocalDescription(); 17 await pc2.setRemoteDescription(pc1.localDescription); 18 await pc2.setLocalDescription(); 19 await pc1.setRemoteDescription(pc2.localDescription); 20 21 audioTransceiver.direction = 'sendrecv'; 22 23 await pc1.setLocalDescription(); 24 await pc2.setRemoteDescription(pc1.localDescription); 25 await pc2.setLocalDescription(); 26 await pc1.setRemoteDescription(pc2.localDescription); 27 }, '[audio] recvonly transceiver can become sendrecv'); 28 29 promise_test(async t => { 30 const pc1 = new RTCPeerConnection(); 31 t.add_cleanup(() => pc1.close()); 32 const pc2 = new RTCPeerConnection(); 33 t.add_cleanup(() => pc2.close()); 34 35 const videoTransceiver = pc1.addTransceiver('video', {direction:'recvonly'}); 36 37 await pc1.setLocalDescription(); 38 await pc2.setRemoteDescription(pc1.localDescription); 39 await pc2.setLocalDescription(); 40 await pc1.setRemoteDescription(pc2.localDescription); 41 42 videoTransceiver.direction = 'sendrecv'; 43 44 await pc1.setLocalDescription(); 45 await pc2.setRemoteDescription(pc1.localDescription); 46 await pc2.setLocalDescription(); 47 await pc1.setRemoteDescription(pc2.localDescription); 48 }, '[video] recvonly transceiver can become sendrecv'); 49 50 </script>