| Index: third_party/WebKit/LayoutTests/webaudio/codec-tests/webm/webm-decode.html
|
| diff --git a/third_party/WebKit/LayoutTests/webaudio/codec-tests/webm/webm-decode.html b/third_party/WebKit/LayoutTests/webaudio/codec-tests/webm/webm-decode.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..121df56b81b9a1d11ee0bff196824d4d200d03ae
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/webaudio/codec-tests/webm/webm-decode.html
|
| @@ -0,0 +1,61 @@
|
| +<!doctype html>
|
| +<html>
|
| +
|
| +<head>
|
| + <title>Test webm Decoding</title>
|
| + <script src="../../../resources/testharness.js"></script>
|
| + <script src="../../../resources/testharnessreport.js"></script>
|
| + <script src="../../resources/audit-util.js"></script>
|
| + <script src="../../resources/audit.js"></script>
|
| + <script src="../../resources/buffer-loader.js"></script>
|
| +</head>
|
| +
|
| +<body>
|
| + <script>
|
| + let audit = Audit.createTaskRunner();
|
| + let decodedAudio;
|
| + let expectedAudio;
|
| +
|
| + audit.define('test', function(task, should) {
|
| + task.describe('Test webm decoding');
|
| +
|
| + let context = new AudioContext();
|
| +
|
| + let bufferLoader = new BufferLoader(
|
| + context, ['webm-decode-expected.wav', 'test-webm.webm'],
|
| + function(bufferList) {
|
| + expectedAudio = bufferList[0];
|
| + decodedAudio = bufferList[1];
|
| +
|
| + // Verify that we have the right number of channels and frames.
|
| + should(decodedAudio.numberOfChannels, 'Number of channels')
|
| + .beEqualTo(expectedAudio.numberOfChannels);
|
| + should(decodedAudio.length, 'Decoded number of frames')
|
| + .beEqualTo(expectedAudio.length);
|
| +
|
| + // Verify that the actual data matches the expected data very
|
| + // closely.
|
| + for (let c = 0; c < expectedAudio.numberOfChannels; ++c) {
|
| + let snrdB = 10 *
|
| + Math.log10(computeSNR(
|
| + decodedAudio.getChannelData(c),
|
| + expectedAudio.getChannelData(c)));
|
| + should(snrdB, 'SNR between actual expected channel ' + c)
|
| + .beGreaterThanOrEqualTo(109.56);
|
| + should(decodedAudio.getChannelData(c), 'Decoded channel ' + c)
|
| + .beCloseToArray(
|
| + expectedAudio.getChannelData(c),
|
| + {absoluteThreshold: 3.0578e-5});
|
| + }
|
| +
|
| + task.done();
|
| + });
|
| +
|
| + bufferLoader.load();
|
| + });
|
| +
|
| + audit.run();
|
| + </script>
|
| +</body>
|
| +
|
| +</html>
|
|
|