tor-browser

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

test_mediarecorder_record_session.html (1779B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <!--
      4 https://bugzilla.mozilla.org/show_bug.cgi?id=909670
      5 -->
      6 <head>
      7  <meta charset="utf-8">
      8  <title>Test for Media Recoder recording session</title>
      9  <script src="/tests/SimpleTest/SimpleTest.js"></script>
     10  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
     11  <script type="text/javascript" src="manifest.js"></script>
     12 </head>
     13 <body>
     14 <pre id="test">
     15 <script class="testbody" type="text/javascript">
     16 var manager = new MediaTestManager;
     17 
     18 function startTest(test, token) {
     19  var element = document.createElement('audio');
     20 
     21  element.token = token;
     22  manager.started(token);
     23 
     24  element.src = test.name;
     25  element.test = test;
     26  element.stream = element.mozCaptureStream();
     27 
     28  var mStopCount = 0;
     29  // Start and stop recording session three times continuously.
     30  var mExpectStopCount = 3;
     31  var mediaRecorder = new MediaRecorder(element.stream);
     32 
     33  // Stop callback.
     34  // Suppose to receive mExpectStopCount
     35  mediaRecorder.onstop = function stopCallback() {
     36    mStopCount++;
     37 
     38    info("MediaRecorder.onstop callback: (" + mStopCount + ")");
     39 
     40    if (mExpectStopCount === mStopCount)
     41    {
     42      manager.finished(token);
     43    }
     44  }
     45 
     46  // data avaliable.
     47  mediaRecorder.ondataavailable = function() {}
     48 
     49  mediaRecorder.onerror = function(err) {
     50    ok(false, 'Unexpected error fired with:' + err);
     51  }
     52 
     53  mediaRecorder.onwarning = function() {
     54    ok(false, 'Unexpected warning fired');
     55  }
     56 
     57  element.preload = "metadata";
     58 
     59  element.onloadedmetadata = function () {
     60    element.onloadedmetadata = null;
     61    element.play();
     62    for (var i = 0; i < mExpectStopCount; i++) {
     63      mediaRecorder.start(1000);
     64      mediaRecorder.stop();
     65    }
     66  }
     67 
     68 }
     69 
     70 manager.runTests(gMediaRecorderTests, startTest);
     71 
     72 </script>
     73 </pre>
     74 </body>
     75 </html>