gecko/content/media/webaudio/test/test_scriptProcessorNodeZeroInputOutput.html
Paul Adenot fe52bb44ee Bug 916384 - Stop calling onaudioprocess on the ScriptProcessorNode it has no inputs or outputs. r=roc
Quoting the spec: "audioprocess events are only dispatched if the
ScriptProcessorNode has at least one input or one output connected".

--HG--
extra : rebase_source : bbf52a183a55b75d394a885624a4080a9467fac4
2013-12-12 15:31:51 +01:00

40 lines
1.1 KiB
HTML

<!DOCTYPE HTML>
<html>
<head>
<title>Test AudioBufferSourceNode</title>
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="text/javascript" src="webaudio.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head>
<body>
<pre id="test">
<script class="testbody" type="text/javascript">
SimpleTest.waitForExplicitFinish();
addLoadEvent(function() {
var context = new AudioContext();
var sp = context.createScriptProcessor(2048, 0, 2);
sp.onaudioprocess = function(e) {
is(e.inputBuffer.numberOfChannels, 0, "Should have 0 input channels");
is(e.outputBuffer.numberOfChannels, 2, "Should have 2 output channels");
sp.onaudioprocess = null;
sp = context.createScriptProcessor(2048, 2, 0);
sp.onaudioprocess = function(e) {
is(e.inputBuffer.numberOfChannels, 2, "Should have 2 input channels");
is(e.outputBuffer.numberOfChannels, 0, "Should have 0 output channels");
sp.onaudioprocess = null;
SimpleTest.finish();
};
sp.connect(context.destination);
};
sp.connect(context.destination);
});
</script>
</pre>
</body>
</html>