tor-browser

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

test-analyser-minimum.html (1192B)


      1 <!DOCTYPE html>
      2 <html>
      3 <head>
      4  <meta charset="utf-8">
      5  <title>Test AnalyserNode when the input is silent</title>
      6  <meta name="timeout" content="long">
      7  <script src="/resources/testharness.js"></script>
      8  <script src="/resources/testharnessreport.js"></script>
      9  <script>
     10    setup({ single_test: true });
     11    var ac = new AudioContext();
     12    var analyser = ac.createAnalyser();
     13    var constant = ac.createConstantSource();
     14    var sp = ac.createScriptProcessor(2048, 1, 1);
     15 
     16    constant.offset.value = 0.0;
     17 
     18    constant.connect(analyser).connect(ac.destination);
     19 
     20    constant.connect(sp).connect(ac.destination);
     21 
     22    var buf = new Float32Array(analyser.frequencyBinCount);
     23    var iteration_count = 10;
     24    sp.onaudioprocess = function() {
     25      analyser.getFloatFrequencyData(buf);
     26      var correct = true;
     27      for (var i = 0; i < buf.length; i++) {
     28        correct &= buf[i] == -Infinity;
     29      }
     30      assert_true(!!correct, "silent input process -Infinity in decibel bins");
     31      if (!iteration_count--) {
     32        sp.onaudioprocess = null;
     33        constant.stop();
     34        ac.close();
     35        done();
     36      }
     37    };
     38 
     39    constant.start();
     40  </script>
     41 </head>
     42 </body>
     43 </html>