Bug 1498428 [wpt PR 13475] - Allow reusing AudioBuffers, a=testonly
authorFernando Jiménez Moreno <ferjmoreno@gmail.com>
Mon, 15 Oct 2018 17:16:29 +0000
changeset 441820 e806e1f56fdfb711d7b93dc9f7ccd8372a4c55ac
parent 441819 b0c82bf8ee18e250bc8d5bdf32a40937d1f5e45a
child 441821 221c483b6af16b1280b5cc4a02392d4cc1e25ba2
push id34877
push userebalazs@mozilla.com
push dateThu, 18 Oct 2018 10:21:15 +0000
treeherdermozilla-central@8f709fd4aa46 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerstestonly
bugs1498428, 13475
milestone64.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
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
testing/web-platform/tests/webaudio/the-audio-api/the-audiobuffer-interface/audiobuffer-reuse.html
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/webaudio/the-audio-api/the-audiobuffer-interface/audiobuffer-reuse.html
@@ -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>