test_peerConnection_forwarding_basicAudioVideoCombined.html (1599B)
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <script type="application/javascript" src="pc.js"></script> 5 </head> 6 <body> 7 <pre id="test"> 8 <script type="application/javascript"> 9 createHTML({ 10 bug: "931903", 11 title: "Forwarding a stream from a combined audio/video peerconnection to another" 12 }); 13 14 runNetworkTest(async function() { 15 // [TODO] re-enable HW decoder after bug 1526207 is fixed. 16 if (navigator.userAgent.includes("Android")) { 17 await pushPrefs(["media.navigator.mediadatadecoder_vpx_enabled", false], 18 ["media.webrtc.hw.h264.enabled", false]); 19 } 20 21 var gumTest = new PeerConnectionTest(); 22 23 var forwardingOptions = { config_local: { label_suffix: "forwarded" }, 24 config_remote: { label_suffix: "forwarded" } }; 25 var forwardingTest = new PeerConnectionTest(forwardingOptions); 26 27 gumTest.setMediaConstraints([{audio: true, video: true}], []); 28 forwardingTest.setMediaConstraints([{audio: true, video: true}], []); 29 forwardingTest.chain.replace("PC_LOCAL_GUM", [ 30 function PC_FORWARDING_CAPTUREVIDEO(test) { 31 var streams = gumTest.pcRemote._pc.getRemoteStreams(); 32 is(streams.length, 1, "One stream to forward"); 33 is(streams[0].getTracks().length, 2, "Forwarded stream has 2 tracks"); 34 forwardingTest.pcLocal.attachLocalStream(streams[0]); 35 return Promise.resolve(); 36 } 37 ]); 38 gumTest.chain.removeAfter("PC_REMOTE_WAIT_FOR_MEDIA_FLOW"); 39 await gumTest.chain.execute(); 40 await forwardingTest.chain.execute(); 41 await gumTest.close(); 42 await forwardingTest.close(); 43 }); 44 </script> 45 </pre> 46 </body> 47 </html>