| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
| <html> |
| <head> |
| <script src="resources/audio-testing.js"></script> |
| <script src="../resources/js-test.js"></script> |
| </head> |
| |
| <body> |
| <div id="description"></div> |
| <div id="console"></div> |
| |
| <script> |
| description("Tests that JavaScriptAudioNode accepts 0 input channels."); |
| |
| var sampleRate = 44100.0; |
| var renderLengthInFrames = 512; |
| var bufferSize = 512; |
| |
| function checkResult(e) |
| { |
| testPassed("JavaScriptAudioNode accepts 0 input channels."); |
| |
| finishJSTest(); |
| } |
| |
| function runTest() |
| { |
| window.jsTestIsAsync = true; |
| |
| var context = new webkitOfflineAudioContext(1, renderLengthInFrames, sampleRate); |
| |
| var node; |
| |
| try { |
| node = context.createScriptProcessor(bufferSize, 0, 1); |
| testPassed("Successfully created JavaScriptAudioNode."); |
| } catch (e) { |
| testFailed("Failed to create JavaScriptAudioNode."); |
| } |
| |
| var source = context.createBufferSource(); |
| source.buffer = createImpulseBuffer(context, bufferSize); |
| |
| // The onaudioprocess function doesn't need to do anything. We just need the process to start |
| // to test that implementation accepts 0 input channels. |
| // |
| // FIXME: check the .inputBuffer attribute of the AudioProcessingEvent. |
| node.onaudioprocess = function(e) { }; |
| source.connect(node); |
| node.connect(context.destination); |
| source.start(0); |
| |
| context.oncomplete = checkResult; |
| context.startRendering(); |
| } |
| |
| runTest(); |
| </script> |
| </body> |
| </html> |