tor-browser

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

test_gainNodeInLoop.html (1267B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4  <title>Test GainNode in presence of loops</title>
      5  <script src="/tests/SimpleTest/SimpleTest.js"></script>
      6  <script type="text/javascript" src="webaudio.js"></script>
      7  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
      8 </head>
      9 <body>
     10 <pre id="test">
     11 <script class="testbody" type="text/javascript">
     12 
     13 var gTest = {
     14  length: 4096,
     15  numberOfChannels: 1,
     16  createGraph(context) {
     17    var sourceBuffer = context.createBuffer(1, 2048, context.sampleRate);
     18    for (var i = 0; i < 2048; ++i) {
     19      sourceBuffer.getChannelData(0)[i] = 1;
     20    }
     21 
     22    var source = context.createBufferSource();
     23    source.buffer = sourceBuffer;
     24    source.loop = true;
     25    source.start(0);
     26    source.stop(sourceBuffer.duration * 2);
     27 
     28    var gain = context.createGain();
     29    // Adjust the gain in a way that we don't just end up modifying AudioChunk::mVolume
     30    gain.gain.setValueAtTime(0.5, 0);
     31    source.connect(gain);
     32    return gain;
     33  },
     34  createExpectedBuffers(context) {
     35    var expectedBuffer = context.createBuffer(1, 4096, context.sampleRate);
     36    for (var i = 0; i < 4096; ++i) {
     37      expectedBuffer.getChannelData(0)[i] = 0.5;
     38    }
     39    return expectedBuffer;
     40  },
     41 };
     42 
     43 runTest();
     44 
     45 </script>
     46 </pre>
     47 </body>
     48 </html>