content/media/webaudio/test/test_convolverNodeChannelCount.html

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 <!DOCTYPE HTML>
     2 <html>
     3 <head>
     4   <title>Test ConvolverNode channel count</title>
     5   <script type="text/javascript" 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">
    13 const signalLength = 2048;
    14 const responseLength = 1000;
    15 const outputLength = 2048; // < signalLength + responseLength to test bug 910171
    17 var gTest = {
    18   length: outputLength,
    19   numberOfChannels: 2,
    20   createGraph: function(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     }
    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     }
    35     var convolver = context.createConvolver();
    36     convolver.buffer = response;
    37     convolver.channelCount = 1;
    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";
    47     var source = context.createBufferSource();
    48     source.buffer = buffer;
    49     source.connect(convolver);
    50     source.start(0);
    52     return convolver;
    53   },
    54 };
    56 runTest();
    58 </script>
    59 </pre>
    60 </body>
    61 </html>

mercurial