Index: third_party/WebKit/LayoutTests/webaudio/sample-accurate-scheduling.html |
diff --git a/third_party/WebKit/LayoutTests/webaudio/sample-accurate-scheduling.html b/third_party/WebKit/LayoutTests/webaudio/sample-accurate-scheduling.html |
deleted file mode 100644 |
index f570671a61e583433779cd35a1e2e9c5e5cdef6f..0000000000000000000000000000000000000000 |
--- a/third_party/WebKit/LayoutTests/webaudio/sample-accurate-scheduling.html |
+++ /dev/null |
@@ -1,135 +0,0 @@ |
-<!DOCTYPE html> |
- |
-<!-- |
-Tests that we are able to schedule a series of notes to playback with sample-accuracy. |
-We use an impulse so we can tell exactly where the rendering is happening. |
---> |
- |
-<html> |
-<head> |
-<script src="../resources/js-test.js"></script> |
-<script src="resources/compatibility.js"></script> |
-<script src="resources/audit-util.js"></script> |
-<script src="resources/audio-testing.js"></script> |
-<script type="text/javascript" src="resources/buffer-loader.js"></script> |
-</head> |
- |
-<body> |
- |
-<div id="description"></div> |
-<div id="console"></div> |
- |
-<script> |
-description("Tests sample-accurate scheduling."); |
- |
-var sampleRate = 44100.0; |
-var lengthInSeconds = 4; |
- |
-var context = 0; |
-var bufferLoader = 0; |
-var impulse; |
- |
-// See if we can render at exactly these sample offsets. |
-var sampleOffsets = [0, 3, 512, 517, 1000, 1005, 20000, 21234, 37590]; |
- |
-function createImpulse() { |
- // An impulse has a value of 1 at time 0, and is otherwise 0. |
- impulse = context.createBuffer(2, 512, sampleRate); |
- var sampleDataL = impulse.getChannelData(0); |
- var sampleDataR = impulse.getChannelData(1); |
- sampleDataL[0] = 1.0; |
- sampleDataR[0] = 1.0; |
-} |
- |
-function playNote(time) { |
- var bufferSource = context.createBufferSource(); |
- bufferSource.buffer = impulse; |
- bufferSource.connect(context.destination); |
- bufferSource.start(time); |
-} |
- |
-function checkSampleAccuracy(event) { |
- var buffer = event.renderedBuffer; |
- |
- var bufferDataL = buffer.getChannelData(0); |
- var bufferDataR = buffer.getChannelData(1); |
- |
- var success = true; |
- var impulseCount = 0; |
- var badOffsetCount = false; |
- |
- // Go through every sample and make sure it's 0, except at positions in sampleOffsets. |
- for (var i = 0; i < buffer.length; ++i) { |
- // Make sure left == right |
- if (bufferDataL[i] != bufferDataR[i]) { |
- testFailed("Rendered buffer left and right channels are not identical."); |
- success = false; |
- break; |
- } |
- |
- if (bufferDataL[i] != 0) { |
- // Make sure this index is in sampleOffsets |
- var found = false; |
- for (var j = 0; j < sampleOffsets.length; ++j) { |
- if (sampleOffsets[j] == i) { |
- found = true; |
- break; |
- } |
- } |
- ++impulseCount; |
- if (!found) { |
- testFailed("Non-zero sample found at sample offset " + i); |
- success = false; |
- ++badOffsetCount; |
- } |
- } |
- } |
- |
- if (impulseCount == sampleOffsets.length) { |
- if (badOffsetCount == 0) { |
- testPassed("Expected number of events found."); |
- } else { |
- testFailed("Expected number of events found, but " + badOffsetCount + " are at incorrect offsets."); |
- success = false; |
- } |
- } else { |
- testFailed("Expected " + sampleOffsets.length + " impulses but only found " + impulseCount); |
- success = false; |
- } |
- |
- if (success) { |
- testPassed("All events rendered with sample-accuracy."); |
- } else { |
- testFailed("Events NOT rendered with sample-accuracy."); |
- } |
- |
- finishJSTest(); |
-} |
- |
-function runTest() { |
- if (window.testRunner) { |
- testRunner.dumpAsText(); |
- testRunner.waitUntilDone(); |
- } |
- |
- window.jsTestIsAsync = true; |
- |
- // Create offline audio context. |
- context = new OfflineAudioContext(2, sampleRate * lengthInSeconds, sampleRate); |
- createImpulse(); |
- |
- for (var i = 0; i < sampleOffsets.length; ++i) { |
- var timeInSeconds = sampleOffsets[i] / sampleRate; |
- playNote(timeInSeconds); |
- } |
- |
- context.oncomplete = checkSampleAccuracy; |
- context.startRendering(); |
-} |
- |
-runTest(); |
- |
-</script> |
- |
-</body> |
-</html> |