1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <script src="resources/audio-testing.js"></script>
5 <script src="resources/note-grain-on-testing.js"></script>
6 <script src="../fast/js/resources/js-test-pre.js"></script>
10 <div id="description"></div>
11 <div id="console"></div>
14 description("Test timing of noteGrainOn.");
16 var squarePulseBuffer;
18 function checkResult(event) {
19 var buffer = event.renderedBuffer;
20 renderedData = buffer.getChannelData(0);
21 var nSamples = renderedData.length;
25 var startEndFrames = findStartAndEndSamples(renderedData);
27 success = success && verifyStartAndEndFrames(startEndFrames);
30 testPassed("noteGrainOn timing tests passed.");
32 testFailed("noteGrainOn timing tests failed.");
39 if (window.layoutTestController) {
40 layoutTestController.dumpAsText();
41 layoutTestController.waitUntilDone();
44 window.jsTestIsAsync = true;
46 // Create offline audio context.
47 context = new webkitAudioContext(2, sampleRate * renderTime, sampleRate);
49 squarePulseBuffer = createSignalBuffer(context, function (k) { return 1 });
51 playAllGrains(context, squarePulseBuffer, numberOfTests);
53 context.oncomplete = checkResult;
54 context.startRendering();
58 successfullyParsed = true;
62 <script src="../fast/js/resources/js-test-post.js"></script>