tor-browser

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

capture.html (1075B)


      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 videos, and assert data is flowing.
     11 
     12 function makeAsyncTest(filename) {
     13  promise_test(async test => {
     14    const video = document.createElement('video');
     15    video.src = "/media/" + filename;
     16    video.onerror = this.unreached_func("<video> error");
     17    video.play();
     18 
     19    const stream = video.captureStream();
     20 
     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  }), "<video>.captureStream() and assert data flows.";
     28 }
     29 
     30 generate_tests(makeAsyncTest, [
     31  [ "video-only", "test-v-128k-320x240-24fps-8kfr.webm" ],
     32  [ "audio-only", "test-a-128k-44100Hz-1ch.webm" ],
     33  [ "video+audio", "test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.webm" ]
     34 ]);
     35 
     36 </script>
     37 </body>
     38 </html>