Bug 1498428 [wpt PR 13475] - Allow reusing AudioBuffers, a=testonly
☠☠ backed out by 09dd66ffc95a ☠ ☠
authorFernando Jiménez Moreno <ferjmoreno@gmail.com>
Mon, 15 Oct 2018 17:16:29 +0000
changeset 489903 4c371bd8765fc77ed27c8288e9e3617f968917cd
parent 489902 13fb36fc139f40c2b0935fa5a63f290f44fa6181
child 489904 8b57f9851df8209672b2448a905ecc921bff4891
push id247
push userfmarier@mozilla.com
push dateSat, 27 Oct 2018 01:06:44 +0000
reviewerstestonly
bugs1498428, 13475
milestone64.0a1
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>