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 500065 4c371bd8765fc77ed27c8288e9e3617f968917cd
parent 500064 13fb36fc139f40c2b0935fa5a63f290f44fa6181
child 500066 8b57f9851df8209672b2448a905ecc921bff4891
push id1864
push userffxbld-merge
push dateMon, 03 Dec 2018 15:51:40 +0000
treeherdermozilla-release@f040763d99ad [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>