Bug 1498428 [wpt PR 13475] - Allow reusing AudioBuffers, a=testonly

Automatic update from web-platform-testsAdd test to check that AudioBuffers can be reused between AudioBufferSourceNodes

--
Merge pull request #13475 from servo-wpt-sync/servo_export_21910

Allow reusing AudioBuffers
--

wpt-commits: bf21a9f3a4768fe904591741aefd3bf875d95c4e, d647a1bc742a533186d8297cae2a2bee669c7780
wpt-pr: 13475
This commit is contained in:
Fernando Jiménez Moreno 2018-10-15 17:16:29 +00:00 коммит произвёл James Graham
Родитель 2b7015a1a2
Коммит f6f1c3349c
1 изменённых файлов: 36 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,36 @@
<!doctype html>
<meta charset="utf-8">
<title>AudioBuffer can be reused between AudioBufferSourceNodes</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
function render_audio_context() {
let sampleRate = 44100;
let context = new OfflineAudioContext(
2, sampleRate * 0.1, sampleRate);
let buf = context.createBuffer(1, 0.1 * sampleRate, context.sampleRate);
let data = buf.getChannelData(0);
data[0] = 0.5;
data[1] = 0.25;
let b1 = context.createBufferSource();
b1.buffer = buf;
b1.start();
let b2 = context.createBufferSource();
b2.buffer = buf;
b2.start();
let merger = context.createChannelMerger(2);
b1.connect(merger, 0, 0);
b2.connect(merger, 0, 1);
merger.connect(context.destination);
return context.startRendering();
}
promise_test(function() {
return render_audio_context()
.then(function(buffer) {
assert_equals(buffer.getChannelData(0)[0], 0.5);
assert_equals(buffer.getChannelData(1)[0], 0.5);
assert_equals(buffer.getChannelData(0)[1], 0.25);
assert_equals(buffer.getChannelData(1)[1], 0.25);
});
}, "AudioBuffer can be reused between AudioBufferSourceNodes");
</script>