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> |