| Index: third_party/WebKit/LayoutTests/webaudio/decode-audio-data-no-resampling.html
|
| diff --git a/third_party/WebKit/LayoutTests/webaudio/decode-audio-data-no-resampling.html b/third_party/WebKit/LayoutTests/webaudio/decode-audio-data-no-resampling.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..c620c04d116287f8ef02b23e8529db467b1e7e5e
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/webaudio/decode-audio-data-no-resampling.html
|
| @@ -0,0 +1,128 @@
|
| +<!doctype html>
|
| +<html>
|
| + <head>
|
| + <title>Test decodeAudioData with Resampling Disabled</title>
|
| + <script src="../resources/js-test.js"></script>
|
| + <script src="resources/compatibility.js"></script>
|
| + <script src="resources/audio-testing.js"></script>
|
| + <script src="resources/buffer-loader.js"></script>
|
| + </head>
|
| +
|
| + <body>
|
| + <script>
|
| + description("Test decodeAudioData with Resampling Disabled");
|
| +
|
| + window.jsTestIsAsync = true;
|
| +
|
| + var sampleRate = 44100;
|
| + var renderDuration = 1;
|
| +
|
| + var url = "resources/media/24bit-22khz.wav";
|
| +
|
| + var audit = Audit.createTaskRunner();
|
| +
|
| + audit.defineTask("no options", function (done) {
|
| + var context = new OfflineAudioContext(1, sampleRate * renderDuration, sampleRate);
|
| +
|
| + var request = new XMLHttpRequest();
|
| + request.open("GET", url, true);
|
| + request.responseType = "arraybuffer";
|
| +
|
| + request.onload = function () {
|
| + context.decodeAudioData(request.response)
|
| + .then(function (buffer) {
|
| + Should("decodeAudioData(buffer) sampling rate",
|
| + buffer.sampleRate).beEqualTo(sampleRate);
|
| + },
|
| + function (code) {
|
| + console.log("Failed to decode: " + code);
|
| + })
|
| + .then(done);
|
| + };
|
| +
|
| + request.send();
|
| + });
|
| +
|
| + audit.defineTask("options", function (done) {
|
| + var context = new OfflineAudioContext(1, sampleRate * renderDuration, sampleRate);
|
| +
|
| + var request = new XMLHttpRequest();
|
| + request.open("GET", url, true);
|
| + request.responseType = "arraybuffer";
|
| +
|
| + request.onload = function () {
|
| + context.decodeAudioData(request.response, {
|
| + randomKey: 42
|
| + })
|
| + .then(function (buffer) {
|
| + Should("decodeAudioData(..., {randomKey: 42}) sampling rate",
|
| + buffer.sampleRate).beEqualTo(sampleRate);
|
| + },
|
| + function (code) {
|
| + console.log("Failed to decode: " + code);
|
| + })
|
| + .then(done);
|
| + };
|
| +
|
| + request.send();
|
| + });
|
| +
|
| + audit.defineTask("resampling", function (done) {
|
| + var context = new OfflineAudioContext(1, sampleRate * renderDuration, sampleRate);
|
| +
|
| + var request = new XMLHttpRequest();
|
| + request.open("GET", url, true);
|
| + request.responseType = "arraybuffer";
|
| +
|
| + request.onload = function () {
|
| + context.decodeAudioData(request.response, {
|
| + disableResampling: false
|
| + })
|
| + .then(function (buffer) {
|
| + Should("decodeAudioData(..., {disableResampling: false}) sampling rate",
|
| + buffer.sampleRate).beEqualTo(sampleRate);
|
| + },
|
| + function (code) {
|
| + console.log("Failed to decode: " + code);
|
| + })
|
| + .then(done);
|
| + };
|
| +
|
| + request.send();
|
| + });
|
| +
|
| + audit.defineTask("no-resampling", function (done) {
|
| + var context = new OfflineAudioContext(1, sampleRate * renderDuration, sampleRate);
|
| +
|
| + var request = new XMLHttpRequest();
|
| + request.open("GET", url, true);
|
| + request.responseType = "arraybuffer";
|
| +
|
| + request.onload = function () {
|
| + var buffer;
|
| + context.decodeAudioData(request.response, {
|
| + disableResampling: true
|
| + })
|
| + .then(function (buffer) {
|
| + Should("decodeAudioData(..., {disableResampling: true}) sampling rate",
|
| + buffer.sampleRate).beEqualTo(22050);
|
| + },
|
| + function (code) {
|
| + console.log("Failed to decode: " + code);
|
| + })
|
| + .then(done);
|
| + };
|
| +
|
| + request.send();
|
| + });
|
| +
|
| + // All done!
|
| + audit.defineTask("finish", function (done) {
|
| + finishJSTest();
|
| + done();
|
| + });
|
| +
|
| + audit.runTasks();
|
| + </script>
|
| + </body>
|
| +</html>
|
|
|