OLD | NEW |
---|---|
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <script src="resources/compatibility.js"></script> | 4 <script src="resources/compatibility.js"></script> |
5 <script src="resources/audio-testing.js"></script> | 5 <script src="resources/audio-testing.js"></script> |
6 <script src="../resources/js-test.js"></script> | 6 <script src="../resources/js-test.js"></script> |
7 <script src="resources/panner-model-testing.js"></script> | 7 <script src="resources/panner-model-testing.js"></script> |
8 </head> | 8 </head> |
9 | 9 |
10 <body> | 10 <body> |
11 <div id="description"></div> | 11 <div id="description"></div> |
12 <div id="console"></div> | 12 <div id="console"></div> |
13 <script> | 13 <script> |
14 description("Test PannerNode handling of feedback loops"); | 14 description("Test PannerNode handling of feedback loops"); |
15 | 15 |
16 // See crbug.com/331446. | 16 // See crbug.com/331446. |
17 | 17 |
18 // Create a simple feedback loop and make sure the panner node processes i t correctly. | 18 // Create a simple feedback loop and make sure the panner node processes i t correctly. |
19 | 19 |
20 function runTest() { | 20 function runTest() { |
21 if (window.testRunner) { | 21 if (window.testRunner) { |
22 testRunner.dumpAsText(); | 22 testRunner.dumpAsText(); |
23 testRunner.waitUntilDone(); | 23 testRunner.waitUntilDone(); |
24 } | 24 } |
25 | 25 |
26 window.jsTestIsAsync = true; | 26 window.jsTestIsAsync = true; |
27 | 27 |
28 var sampleRate = 44100; | 28 var sampleRate = 44100; |
29 var renderLengthSeconds = 1; | 29 var renderLengthSeconds = 1; |
30 | 30 |
31 // Create offline audio context. | 31 // Create offline audio context. |
32 var context = new OfflineAudioContext(2, sampleRate * renderLengthSeco nds, sampleRate); | 32 var context = new OfflineAudioContext(2, sampleRate * renderLengthSeco nds, sampleRate); |
33 | 33 |
34 // Create nodes in graph. This is based on the test given in crbug.com /331446. | 34 // Create nodes in graph. This is based on the test given in crbug.com /331446. |
35 var source = context.createBufferSource(); | 35 var source = context.createBufferSource(); |
36 source.buffer = createImpulseBuffer(context, sampleRate * renderLength Seconds); | 36 source.buffer = createImpulseBuffer(context, sampleRate * renderLength Seconds); |
37 var activateNode = context.createGain(); | 37 var activateNode = context.createGain(); |
38 var dry = context.createGain(); | 38 var dry = context.createGain(); |
39 var wet = context.createGain(); | 39 var wet = context.createGain(); |
40 var filter = context.createBiquadFilter(); | 40 var filter = context.createBiquadFilter(); |
(...skipping 11 matching lines...) Expand all Loading... | |
52 activateNode.connect(delay); | 52 activateNode.connect(delay); |
53 activateNode.connect(dry); | 53 activateNode.connect(dry); |
54 delay.connect(filter); | 54 delay.connect(filter); |
55 filter.connect(feedbackNode); | 55 filter.connect(feedbackNode); |
56 feedbackNode.connect(delay); | 56 feedbackNode.connect(delay); |
57 feedbackNode.connect(wet); | 57 feedbackNode.connect(wet); |
58 wet.connect(output); | 58 wet.connect(output); |
59 dry.connect(output); | 59 dry.connect(output); |
60 | 60 |
61 var panner = context.createPanner(); | 61 var panner = context.createPanner(); |
62 // Default is 'equalpower', so change it to 'HRTF' for testing. | |
63 // https://code.google.com/p/chromium/issues/detail?id=424356 | |
64 panner.panningModel = 'HRTF'; | |
Raymond Toy
2014/10/17 17:39:30
If you don't do this, will the test fail? I don't
hongchan
2014/10/17 18:13:40
Done.
| |
62 panner.coneOuterGain = 0.1; | 65 panner.coneOuterGain = 0.1; |
63 panner.coneOuterAngle = 180; | 66 panner.coneOuterAngle = 180; |
64 panner.coneInnerAngle = 0; | 67 panner.coneInnerAngle = 0; |
65 | 68 |
66 panner.connect(context.destination); | 69 panner.connect(context.destination); |
67 | 70 |
68 output.connect(panner); | 71 output.connect(panner); |
69 | 72 |
70 // Render. We don't care what the output is, though. | 73 // Render. We don't care what the output is, though. |
71 | 74 |
72 context.oncomplete = function (event) { | 75 context.oncomplete = function (event) { |
73 testPassed("Rendering successfully completed. "); | 76 testPassed("Rendering successfully completed. "); |
74 finishJSTest(); | 77 finishJSTest(); |
75 }; | 78 }; |
76 context.startRendering(); | 79 context.startRendering(); |
77 } | 80 } |
78 | 81 |
79 runTest(); | 82 runTest(); |
80 successfullyParsed = true; | 83 successfullyParsed = true; |
81 </script> | 84 </script> |
82 | 85 |
83 </body> | 86 </body> |
84 </html> | 87 </html> |
OLD | NEW |