Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(16)

Side by Side Diff: third_party/WebKit/LayoutTests/webaudio/resources/scriptprocessornode-testing.js

Issue 2895963003: Apply layout-test-tidy to LayoutTests/webaudio (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // For the current implementation of JavaScriptAudioNode, when it works with Off lineAudioContext (which runs much faster 1 // For the current implementation of JavaScriptAudioNode, when it works with
2 // than real-time) the event.inputBuffer might be overwrite again before onaudio process ever get chance to be called. 2 // OfflineAudioContext (which runs much faster than real-time) the
3 // We carefully arrange the renderLengthInFrames and bufferSize to have exactly the same value to avoid this issue. 3 // event.inputBuffer might be overwrite again before onaudioprocess ever get
4 // chance to be called. We carefully arrange the renderLengthInFrames and
5 // bufferSize to have exactly the same value to avoid this issue.
4 var renderLengthInFrames = 512; 6 var renderLengthInFrames = 512;
5 var bufferSize = 512; 7 var bufferSize = 512;
6 8
7 var context; 9 var context;
8 10
9 function createBuffer(context, numberOfChannels, length) { 11 function createBuffer(context, numberOfChannels, length) {
10 var audioBuffer = context.createBuffer(numberOfChannels, length, sampleRate) ; 12 let audioBuffer = context.createBuffer(numberOfChannels, length, sampleRate);
11 13
12 fillData(audioBuffer, numberOfChannels, audioBuffer.length); 14 fillData(audioBuffer, numberOfChannels, audioBuffer.length);
13 return audioBuffer; 15 return audioBuffer;
14 } 16 }
15 17
16 function processAudioData(event) { 18 function processAudioData(event) {
17 buffer = event.outputBuffer; 19 buffer = event.outputBuffer;
18 if (buffer.numberOfChannels != outputChannels) 20 if (buffer.numberOfChannels != outputChannels)
19 testFailed("numberOfOutputChannels doesn't match!"); 21 testFailed('numberOfOutputChannels doesn\'t match!');
20 22
21 if (buffer.length != bufferSize) 23 if (buffer.length != bufferSize)
22 testFailed("length of buffer doesn't match!"); 24 testFailed('length of buffer doesn\'t match!');
23 25
24 buffer = event.inputBuffer; 26 buffer = event.inputBuffer;
25 27
26 var success = checkStereoOnlyData(buffer, inputChannels, buffer.length); 28 let success = checkStereoOnlyData(buffer, inputChannels, buffer.length);
27 29
28 if (success) { 30 if (success) {
29 testPassed("onaudioprocess was called with correct input data."); 31 testPassed('onaudioprocess was called with correct input data.');
30 } else { 32 } else {
31 testFailed("onaudioprocess was called with wrong input data."); 33 testFailed('onaudioprocess was called with wrong input data.');
32 } 34 }
33 } 35 }
34 36
35 function fillData(buffer, numberOfChannels, length) { 37 function fillData(buffer, numberOfChannels, length) {
36 for (var i = 0; i < numberOfChannels; ++i) { 38 for (let i = 0; i < numberOfChannels; ++i) {
37 var data = buffer.getChannelData(i); 39 let data = buffer.getChannelData(i);
38 40
39 for (var j = 0; j < length; ++j) 41 for (let j = 0; j < length; ++j)
40 if (i < 2) 42 if (i < 2)
41 data[j] = i * 2 - 1; 43 data[j] = i * 2 - 1;
42 else 44 else
43 data[j] = 0; 45 data[j] = 0;
44 } 46 }
45 } 47 }
46 48
47 // Both 2 to 8 upmix and 8 to 2 downmix are just directly copy the first two cha nnels and left channels are zeroed. 49 // Both 2 to 8 upmix and 8 to 2 downmix are just directly copy the first two
50 // channels and left channels are zeroed.
48 function checkStereoOnlyData(buffer, numberOfChannels, length) { 51 function checkStereoOnlyData(buffer, numberOfChannels, length) {
49 for (var i = 0; i < numberOfChannels; ++i) { 52 for (let i = 0; i < numberOfChannels; ++i) {
50 var data = buffer.getChannelData(i); 53 let data = buffer.getChannelData(i);
51 54
52 for (var j = 0; j < length; ++j) { 55 for (let j = 0; j < length; ++j) {
53 if (i < 2) { 56 if (i < 2) {
54 if (data[j] != i * 2 - 1) 57 if (data[j] != i * 2 - 1)
55 return false; 58 return false;
56 } else { 59 } else {
57 if (data[j] != 0) 60 if (data[j] != 0)
58 return false; 61 return false;
59 } 62 }
60 }
61 } 63 }
62 return true; 64 }
65 return true;
63 } 66 }
64 67
65 function runJSNodeTest() 68 function runJSNodeTest() {
66 { 69 // Create offline audio context.
67 // Create offline audio context. 70 context = new OfflineAudioContext(2, renderLengthInFrames, sampleRate);
68 context = new OfflineAudioContext(2, renderLengthInFrames, sampleRate);
69 71
70 var sourceBuffer = createBuffer(context, sourceChannels, renderLengthInFrame s); 72 let sourceBuffer =
73 createBuffer(context, sourceChannels, renderLengthInFrames);
71 74
72 var bufferSource = context.createBufferSource(); 75 let bufferSource = context.createBufferSource();
73 bufferSource.buffer = sourceBuffer; 76 bufferSource.buffer = sourceBuffer;
74 77
75 var scriptNode = context.createScriptProcessor(bufferSize, inputChannels, ou tputChannels); 78 let scriptNode =
79 context.createScriptProcessor(bufferSize, inputChannels, outputChannels);
76 80
77 bufferSource.connect(scriptNode); 81 bufferSource.connect(scriptNode);
78 scriptNode.connect(context.destination); 82 scriptNode.connect(context.destination);
79 scriptNode.onaudioprocess = processAudioData; 83 scriptNode.onaudioprocess = processAudioData;
80 84
81 bufferSource.start(0); 85 bufferSource.start(0);
82 context.oncomplete = finishJSTest; 86 context.oncomplete = finishJSTest;
83 context.startRendering(); 87 context.startRendering();
84 } 88 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698