tor-browser

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

test_channelMergerNode.html (1693B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4  <title>Test ChannelMergerNode</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: 2048,
     15  numberOfChannels: 6,
     16  createGraph(context) {
     17    var buffers = [];
     18    for (var j = 0; j < 6; ++j) {
     19      var buffer = context.createBuffer(2, 2048, context.sampleRate);
     20      for (var i = 0; i < 2048; ++i) {
     21        buffer.getChannelData(0)[i] = Math.sin(440 * 2 * (j + 1) * Math.PI * i / context.sampleRate);
     22        // Second channel is silent
     23      }
     24      buffers.push(buffer);
     25    }
     26 
     27    var merger = new ChannelMergerNode(context);
     28    is(merger.channelCount, 1, "merger node has 1 input channels");
     29    is(merger.channelCountMode, "explicit", "Correct channelCountMode for the merger node");
     30    is(merger.channelInterpretation, "speakers", "Correct channelCountInterpretation for the merger node");
     31 
     32    for (var i = 0; i < 6; ++i) {
     33      var source = context.createBufferSource();
     34      source.buffer = buffers[i];
     35      source.connect(merger, 0, i);
     36      source.start(0);
     37    }
     38 
     39    return merger;
     40  },
     41  createExpectedBuffers(context) {
     42    var expectedBuffer = context.createBuffer(6, 2048, context.sampleRate);
     43    for (var i = 0; i < 6; ++i) {
     44      for (var j = 0; j < 2048; ++j) {
     45        expectedBuffer.getChannelData(i)[j] = 0.5 * Math.sin(440 * 2 * (i + 1) * Math.PI * j / context.sampleRate);
     46      }
     47    }
     48    return expectedBuffer;
     49  },
     50 };
     51 
     52 runTest();
     53 
     54 </script>
     55 </pre>
     56 </body>
     57 </html>