tor-browser

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

test_multiple_mediastreamtracks.html (1419B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4  <title>Test the ability of MediaStream with multiple MediaStreamTracks</title>
      5  <script src="/tests/SimpleTest/SimpleTest.js"></script>
      6  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
      7  <script type="text/javascript" src="manifest.js"></script>
      8  <script type="text/javascript" src="gUM_support.js"></script>
      9 </head>
     10 <body>
     11 <pre id="test">
     12 <script class="testbody" type="text/javascript">
     13 async function startTest() {
     14  try {
     15    await setupGetUserMediaTestPrefs();
     16    let orgStream = await navigator.mediaDevices.getUserMedia({audio: true, video: true});
     17    let a = orgStream.getAudioTracks()[0];
     18    let v = orgStream.getVideoTracks()[0];
     19    let stream = new MediaStream([a, a, a, a, v, v, v].map(track => track.clone()));
     20    let element = document.createElement("video");
     21 
     22    element.onloadedmetadata = function() {
     23      is(stream.getAudioTracks().length, 4, 'Length of audio tracks should be 4.');
     24      is(stream.getVideoTracks().length, 3, 'Length of vudio tracks should be 3.');
     25      SimpleTest.finish();
     26    };
     27 
     28    element.srcObject = stream;
     29    element.play();
     30  } catch (err) {
     31    ok(false, 'Unexpected error fired with: ' + err);
     32    SimpleTest.finish();
     33  }
     34 }
     35 
     36 SimpleTest.waitForExplicitFinish();
     37 SpecialPowers.pushPrefEnv(
     38  {
     39    "set": [
     40      ["media.track.enabled", true]
     41    ]
     42  }, startTest);
     43 
     44 </script>
     45 </pre>
     46 </body>
     47 </html>