mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 881092 - Test that we can decode multichannel WAVE file only when using decodeAudioData. r=ehsan
--HG-- extra : rebase_source : fe1cb35be9a1197b01a6c90654abd825f28a67e5
This commit is contained in:
parent
bacec95428
commit
08fd7cd240
@ -67,6 +67,7 @@ MOCHITEST_FILES := \
|
||||
test_gainNodeInLoop.html \
|
||||
test_maxChannelCount.html \
|
||||
test_mediaDecoding.html \
|
||||
test_decodeMultichannel.html \
|
||||
test_mediaElementAudioSourceNode.html \
|
||||
test_mediaStreamAudioDestinationNode.html \
|
||||
test_mediaStreamAudioSourceNode.html \
|
||||
@ -107,6 +108,7 @@ MOCHITEST_FILES := \
|
||||
audio-expected.wav \
|
||||
audio-mono-expected.wav \
|
||||
audio-mono-expected-2.wav \
|
||||
audio-quad.wav \
|
||||
$(NULL)
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
BIN
content/media/webaudio/test/audio-quad.wav
Normal file
BIN
content/media/webaudio/test/audio-quad.wav
Normal file
Binary file not shown.
58
content/media/webaudio/test/test_decodeMultichannel.html
Normal file
58
content/media/webaudio/test/test_decodeMultichannel.html
Normal file
@ -0,0 +1,58 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<meta charset=utf-8>
|
||||
<head>
|
||||
<title>Test that we can decode 4 channel wave file in webaudio, but not in <audio></title>
|
||||
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
||||
</head>
|
||||
<body>
|
||||
<pre id="test">
|
||||
<script class="testbody" type="text/javascript">
|
||||
var filename = "audio-quad.wav";
|
||||
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
|
||||
function finishTest(a) {
|
||||
if (a) {
|
||||
a = null;
|
||||
SimpleTest.finish();
|
||||
}
|
||||
}
|
||||
|
||||
function decodeUsingAudioElement() {
|
||||
var a = new Audio();
|
||||
a.addEventListener("error", function() {
|
||||
ok(true, "We should not be able to decode this file using an HTMLAudioElement");
|
||||
finishTest(a);
|
||||
});
|
||||
a.addEventListener("loadedmetadata", function() {
|
||||
ok(false, "We should not be able to decode this file using an HTMLMediaElement.");
|
||||
finishTest(a);
|
||||
});
|
||||
|
||||
a.src = filename;
|
||||
a.load();
|
||||
}
|
||||
|
||||
addLoadEvent(function() {
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open("GET", filename);
|
||||
xhr.responseType = "arraybuffer";
|
||||
xhr.onload = function() {
|
||||
var context = new AudioContext();
|
||||
context.decodeAudioData(xhr.response, function(b) {
|
||||
ok(true, "Decoding of a wave file with four channels succeded.");
|
||||
is(b.numberOfChannels, 4, "The AudioBuffer should have 4 channels.");
|
||||
decodeUsingAudioElement();
|
||||
}, function() {
|
||||
ok(false, "Decoding of a wave file with four channels failed.");
|
||||
decodeUsingAudioElement();
|
||||
});
|
||||
};
|
||||
xhr.send(null);
|
||||
});
|
||||
</script>
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue
Block a user