Remove support for ENABLE_LEGACY_WEB_AUDIO
[WebKit-https.git] / LayoutTests / webaudio / convolution-mono-mono.html
1 <!DOCTYPE html>
2
3 <html>
4 <head>
5 <script type="text/javascript" src="resources/audio-testing.js"></script>
6 <script src="../resources/js-test-pre.js"></script>
7 <script src="resources/convolution-testing.js"></script>
8 </head>
9
10 <body>
11
12 <div id="description"></div>
13 <div id="console"></div>
14
15 <script>
16 description("Tests ConvolverNode processing a mono channel with mono impulse response.");
17
18 // To test the convolver, we convolve two square pulses together to
19 // produce a triangular pulse.  To verify the result is correct we
20 // check several parts of the result.  First, we make sure the initial
21 // part of the result is zero (due to the latency in the convolver).
22 // Next, the triangular pulse should match the theoretical result to
23 // within some roundoff.  After the triangular pulse, the result
24 // should be exactly zero, but round-off prevents that.  We make sure
25 // the part after the pulse is sufficiently close to zero.  Finally,
26 // the result should be exactly zero because the inputs are exactly
27 // zero.
28 function runTest() {
29     if (window.testRunner) {
30         testRunner.dumpAsText();
31         testRunner.waitUntilDone();
32     }
33     
34     window.jsTestIsAsync = true;
35         
36     // Create offline audio context.
37     var context = new webkitOfflineAudioContext(2, sampleRate * renderLengthSeconds, sampleRate);
38
39     var squarePulse = createSquarePulseBuffer(context, pulseLengthFrames);
40     var trianglePulse = createTrianglePulseBuffer(context, 2 * pulseLengthFrames);
41     
42     var bufferSource = context.createBufferSource();
43     bufferSource.buffer = squarePulse;
44     
45     var convolver = context.createConvolver();
46     convolver.normalize = false;
47     convolver.buffer = squarePulse;
48
49     bufferSource.connect(convolver);
50     convolver.connect(context.destination);
51
52     bufferSource.start(0);
53     
54     context.oncomplete = checkConvolvedResult(trianglePulse);
55     context.startRendering();
56 }
57
58 runTest();
59 successfullyParsed = true;
60
61 </script>
62
63 <script src="../resources/js-test-post.js"></script>
64 </body>
65 </html>