tor-browser

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

test_convolverNodeChannelCount.html (1896B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4  <title>Test ConvolverNode channel count</title>
      5  <script src="/tests/SimpleTest/SimpleTest.js"></script>
      6  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
      7 </head>
      8 <body>
      9 <pre id="test">
     10 <script src="webaudio.js" type="text/javascript"></script>
     11 <script class="testbody" type="text/javascript">
     12 
     13 const signalLength = 2048;
     14 const responseLength = 1000;
     15 const outputLength = 2048; // < signalLength + responseLength to test bug 910171
     16 
     17 var gTest = {
     18  length: outputLength,
     19  numberOfChannels: 2,
     20  createGraph(context) {
     21    var buffer = context.createBuffer(2, signalLength, context.sampleRate);
     22    for (var i = 0; i < signalLength; ++i) {
     23      var sample = Math.sin(440 * 2 * Math.PI * i / context.sampleRate);
     24      // When mixed into a single channel, this produces silence
     25      buffer.getChannelData(0)[i] = sample;
     26      buffer.getChannelData(1)[i] = -sample;
     27    }
     28 
     29    var response = context.createBuffer(2, responseLength, context.sampleRate);
     30    for (var i = 0; i < responseLength; ++i) {
     31      response.getChannelData(0)[i] = i / responseLength;
     32      response.getChannelData(1)[i] = 1 - (i / responseLength);
     33    }
     34 
     35    var convolver = context.createConvolver();
     36    convolver.buffer = response;
     37    convolver.channelCount = 1;
     38 
     39    expectException(function() { convolver.channelCount = 3; },
     40                    DOMException.NOT_SUPPORTED_ERR);
     41    convolver.channelCountMode = "explicit";
     42    expectException(function() { convolver.channelCountMode = "max"; },
     43                    DOMException.NOT_SUPPORTED_ERR);
     44    convolver.channelInterpretation = "discrete";
     45    convolver.channelInterpretation = "speakers";
     46 
     47    var source = context.createBufferSource();
     48    source.buffer = buffer;
     49    source.connect(convolver);
     50    source.start(0);
     51 
     52    return convolver;
     53  },
     54 };
     55 
     56 runTest();
     57 
     58 </script>
     59 </pre>
     60 </body>
     61 </html>