1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/content/media/webaudio/test/test_convolverNodeChannelCount.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,61 @@ 1.4 +<!DOCTYPE HTML> 1.5 +<html> 1.6 +<head> 1.7 + <title>Test ConvolverNode channel count</title> 1.8 + <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> 1.9 + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> 1.10 +</head> 1.11 +<body> 1.12 +<pre id="test"> 1.13 +<script src="webaudio.js" type="text/javascript"></script> 1.14 +<script class="testbody" type="text/javascript"> 1.15 + 1.16 +const signalLength = 2048; 1.17 +const responseLength = 1000; 1.18 +const outputLength = 2048; // < signalLength + responseLength to test bug 910171 1.19 + 1.20 +var gTest = { 1.21 + length: outputLength, 1.22 + numberOfChannels: 2, 1.23 + createGraph: function(context) { 1.24 + var buffer = context.createBuffer(2, signalLength, context.sampleRate); 1.25 + for (var i = 0; i < signalLength; ++i) { 1.26 + var sample = Math.sin(440 * 2 * Math.PI * i / context.sampleRate); 1.27 + // When mixed into a single channel, this produces silence 1.28 + buffer.getChannelData(0)[i] = sample; 1.29 + buffer.getChannelData(1)[i] = -sample; 1.30 + } 1.31 + 1.32 + var response = context.createBuffer(2, responseLength, context.sampleRate); 1.33 + for (var i = 0; i < responseLength; ++i) { 1.34 + response.getChannelData(0)[i] = i / responseLength; 1.35 + response.getChannelData(1)[i] = 1 - (i / responseLength); 1.36 + } 1.37 + 1.38 + var convolver = context.createConvolver(); 1.39 + convolver.buffer = response; 1.40 + convolver.channelCount = 1; 1.41 + 1.42 + expectException(function() { convolver.channelCount = 3; }, 1.43 + DOMException.NOT_SUPPORTED_ERR); 1.44 + convolver.channelCountMode = "explicit"; 1.45 + expectException(function() { convolver.channelCountMode = "max"; }, 1.46 + DOMException.NOT_SUPPORTED_ERR); 1.47 + convolver.channelInterpretation = "discrete"; 1.48 + convolver.channelInterpretation = "speakers"; 1.49 + 1.50 + var source = context.createBufferSource(); 1.51 + source.buffer = buffer; 1.52 + source.connect(convolver); 1.53 + source.start(0); 1.54 + 1.55 + return convolver; 1.56 + }, 1.57 +}; 1.58 + 1.59 +runTest(); 1.60 + 1.61 +</script> 1.62 +</pre> 1.63 +</body> 1.64 +</html>