tor-browser

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

capture-muted.html (1137B)


      1 <!DOCTYPE html>
      2 <html>
      3 <head>
      4 <script src=/resources/testharness.js></script>
      5 <script src=/resources/testharnessreport.js></script>
      6 </head>
      7 <body>
      8 <script>
      9 
     10 // Run captureStream() on different muted videos, and assert data is flowing.
     11 
     12 function makeAsyncTest(filename) {
     13    return async function(test) {
     14        const video = document.createElement('video');
     15        video.src = "/media/" + filename;
     16        video.muted = true;
     17        video.onerror = test.unreached_func("<video> error");
     18        video.play();
     19 
     20        const stream = video.captureStream();
     21        await new Promise(r => stream.onaddtrack = r);
     22        const recorder = new MediaRecorder(stream);
     23 
     24        recorder.start(0);
     25        const {data} = await new Promise(r => recorder.ondataavailable = r);
     26        assert_true(data.size > 0, 'Recorded data size should be > 0');
     27    };
     28 }
     29 
     30 promise_test(makeAsyncTest("test-v-128k-320x240-24fps-8kfr.webm"), "video-only.");
     31 promise_test(makeAsyncTest("test-a-128k-44100Hz-1ch.webm"), "audio-only");
     32 promise_test(makeAsyncTest("test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.webm"), "video+audio");
     33 
     34 </script>
     35 </body>
     36 </html>