diff options
Diffstat (limited to 'dom/media/webaudio/test/test_offlineDestinationChannelCountMore.html')
-rw-r--r-- | dom/media/webaudio/test/test_offlineDestinationChannelCountMore.html | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/dom/media/webaudio/test/test_offlineDestinationChannelCountMore.html b/dom/media/webaudio/test/test_offlineDestinationChannelCountMore.html new file mode 100644 index 0000000000..fa38114e2b --- /dev/null +++ b/dom/media/webaudio/test/test_offlineDestinationChannelCountMore.html @@ -0,0 +1,46 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Test OfflineAudioContext with a channel count less than the specified number</title> + <script 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 ctx = new OfflineAudioContext(6, 100, 22050); + + var buf = ctx.createBuffer(2, 100, ctx.sampleRate); + for (var i = 0; i < 2; ++i) { + for (var j = 0; j < 100; ++j) { + buf.getChannelData(i)[j] = Math.sin(2 * Math.PI * 200 * j / ctx.sampleRate); + } + } + var emptyBuffer = ctx.createBuffer(1, 100, ctx.sampleRate); + + var src = ctx.createBufferSource(); + src.buffer = buf; + src.start(0); + src.connect(ctx.destination); + ctx.destination.channelCountMode = "max"; + ctx.startRendering(); + ctx.oncomplete = function(e) { + is(e.renderedBuffer.numberOfChannels, 6, "Correct expected number of buffers"); + compareChannels(e.renderedBuffer.getChannelData(0), buf.getChannelData(0)); + compareChannels(e.renderedBuffer.getChannelData(1), buf.getChannelData(1)); + for (var i = 2; i < 6; ++i) { + compareChannels(e.renderedBuffer.getChannelData(i), emptyBuffer.getChannelData(0)); + } + + SimpleTest.finish(); + }; +}); + +</script> +</pre> +</body> +</html> |