test_delayNodeAtMax.html (1394B)
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <title>Test DelayNode with maxDelayTime delay - bug 890528</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 delayLength = 1000; // Not on a block boundary 15 const outputLength = 4096 // > signalLength + 2 * delayLength; 16 17 function applySignal(buffer, offset) { 18 for (var i = 0; i < signalLength; ++i) { 19 buffer.getChannelData(0)[offset + i] = Math.cos(Math.PI * i / signalLength); 20 } 21 } 22 23 var gTest = { 24 numberOfChannels: 1, 25 createGraph(context) { 26 var buffer = context.createBuffer(1, signalLength, context.sampleRate); 27 applySignal(buffer, 0); 28 29 var source = context.createBufferSource(); 30 source.buffer = buffer; 31 32 const delayTime = delayLength / context.sampleRate; 33 var delay = context.createDelay(delayTime); 34 delay.delayTime.value = delayTime; 35 36 source.connect(delay); 37 38 source.start(0); 39 return delay; 40 }, 41 createExpectedBuffers(context) { 42 var expectedBuffer = context.createBuffer(1, outputLength, context.sampleRate); 43 applySignal(expectedBuffer, delayLength); 44 return expectedBuffer; 45 }, 46 }; 47 48 runTest(); 49 50 </script> 51 </pre> 52 </body> 53 </html>