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

Side by Side Diff: LayoutTests/webaudio/resources/audiobuffersource-testing.js

Issue 723823002: AudioBufferSourceNode loop duration should be the actual duration (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: One item per line Created 5 years, 10 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 | Annotate | Revision Log
OLDNEW
1 function createTestBuffer(context, sampleFrameLength) { 1 function createTestBuffer(context, sampleFrameLength) {
2 var audioBuffer = context.createBuffer(1, sampleFrameLength, context.sampleR ate); 2 var audioBuffer = context.createBuffer(1, sampleFrameLength, context.sampleR ate);
3 var channelData = audioBuffer.getChannelData(0); 3 var channelData = audioBuffer.getChannelData(0);
4 4
5 // Create a simple linear ramp starting at zero, with each value in the buff er equal to its index position. 5 // Create a simple linear ramp starting at zero, with each value in the buff er equal to its index position.
6 for (var i = 0; i < sampleFrameLength; ++i) 6 for (var i = 0; i < sampleFrameLength; ++i)
7 channelData[i] = i; 7 channelData[i] = i;
8 8
9 return audioBuffer; 9 return audioBuffer;
10 } 10 }
(...skipping 11 matching lines...) Expand all
22 description = test.description; 22 description = test.description;
23 } else { 23 } else {
24 // No description given, so create a basic one from the given test param eters. 24 // No description given, so create a basic one from the given test param eters.
25 description = "loop from " + test.loopStartFrame + " -> " + test.loopEnd Frame; 25 description = "loop from " + test.loopStartFrame + " -> " + test.loopEnd Frame;
26 if (test.offsetFrame) 26 if (test.offsetFrame)
27 description += " with offset " + test.offsetFrame; 27 description += " with offset " + test.offsetFrame;
28 if (test.playbackRate && test.playbackRate != 1) 28 if (test.playbackRate && test.playbackRate != 1)
29 description += " with playbackRate of " + test.playbackRate; 29 description += " with playbackRate of " + test.playbackRate;
30 } 30 }
31 31
32 for (var j = 0; j < test.renderFrames; ++j) { 32 var framesToTest;
33
34 if (test.renderFrames)
35 framesToTest = test.renderFrames;
36 else if (test.durationFrames)
37 framesToTest = test.durationFrames;
38
39 // Verify that the output matches
40 for (var j = 0; j < framesToTest; ++j) {
33 if (expected[j] != renderedData[offsetFrame + j]) { 41 if (expected[j] != renderedData[offsetFrame + j]) {
34 // Copy from Float32Array to regular JavaScript array for error mess age. 42 // Copy from Float32Array to regular JavaScript array for error mess age.
35 var renderedArray = new Array(); 43 var renderedArray = new Array();
36 for (var j = 0; j < test.renderFrames; ++j) 44 for (var j = 0; j < test.renderFrames; ++j)
37 renderedArray[j] = renderedData[offsetFrame + j]; 45 renderedArray[j] = renderedData[offsetFrame + j];
38 46
39 var s = description + ": expected: " + expected + " actual: " + rend eredArray; 47 var s = description + ": expected: " + expected + " actual: " + rend eredArray;
40 testFailed(s); 48 testFailed(s);
41 success = false; 49 success = false;
42 break; 50 break;
43 } 51 }
44 } 52 }
45 53
54 // Verify that we get all zeroes after the buffer (or duration) has passed.
55 for (var j = framesToTest; j < testSpacingFrames; ++j) {
56 if (renderedData[offsetFrame + j]) {
57 // Copy from Float32Array to regular JavaScript array for error mess age.
58 var renderedArray = new Array();
59 for (var j = framesToTest; j < testSpacingFrames; ++j)
60 renderedArray[j - framesToTest] = renderedData[offsetFrame + j];
61
62 var s = description + ": expected: all zeroes actual: " + renderedAr ray;
63 testFailed(s);
64 success = false;
65 break;
66 }
67 }
68
46 if (success) 69 if (success)
47 testPassed(description); 70 testPassed(description);
48 71
49 return success; 72 return success;
50 } 73 }
51 74
52 function checkAllTests(event) { 75 function checkAllTests(event) {
53 var renderedBuffer = event.renderedBuffer; 76 var renderedBuffer = event.renderedBuffer;
54 for (var i = 0; i < tests.length; ++i) 77 for (var i = 0; i < tests.length; ++i)
55 checkSingleTest(renderedBuffer, i); 78 checkSingleTest(renderedBuffer, i);
56 79
57 if (window.testRunner) 80 if (window.testRunner)
58 testRunner.notifyDone() 81 testRunner.notifyDone()
59 } 82 }
OLDNEW
« no previous file with comments | « LayoutTests/webaudio/audiobuffersource-start-expected.txt ('k') | Source/modules/webaudio/AudioBufferSourceNode.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698