tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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>