Add support for user-selectable automation rate ("a-rate" or "k-rate") for AudioParams. See https://github.com/WebAudio/web-audio-api/issues/1269 and https://github.com/WebAudio/web-audio-api/pull/1521
As an example of how much CPU a-rate biquads actually use, see issue 813504
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/59636b605b8e4b382a58a4bd8827a3a06d1df42d commit 59636b605b8e4b382a58a4bd8827a3a06d1df42d Author: Raymond Toy <rtoy@chromium.org> Date: Tue Apr 24 02:26:20 2018 Implement selectable AudioParam rate AudioParam has a new attribute, automationRate, to allow the user to choose whether the AudioParam is "a-rate" or "k-rate". Add support for setting and getting the attribute. Update all AudioParams to support a-rate and k-rate when allowed. Spec: https://webaudio.github.io/web-audio-api/#dom-audioparam-automationrate Intent: https://groups.google.com/a/chromium.org/d/msg/blink-dev/extLjVzLw7s/9XUZvQqcBQAJ Bug: 828947 Change-Id: Ibb9fe8bc0dedf3cfdcf33727734b5d66e5a7ca2f Reviewed-on: https://chromium-review.googlesource.com/945076 Commit-Queue: Raymond Toy <rtoy@chromium.org> Reviewed-by: Hongchan Choi <hongchan@chromium.org> Reviewed-by: Kent Tamura <tkent@chromium.org> Cr-Commit-Position: refs/heads/master@{#552965} [add] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-audioparam-interface/automation-rate-testing.js [add] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-audioparam-interface/automation-rate.html [add] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-audioparam-interface/k-rate-audioworklet.https.html [add] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-audioparam-interface/k-rate-biquad.html [add] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-audioparam-interface/k-rate-constant-source.html [add] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-audioparam-interface/k-rate-delay.html [add] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-audioparam-interface/k-rate-gain.html [add] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-audioparam-interface/k-rate-oscillator.html [add] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner.html [add] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-audioparam-interface/k-rate-stereo-panner.html [modify] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt [modify] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt [modify] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/blink/renderer/modules/webaudio/audio_buffer_source_node.cc [modify] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/blink/renderer/modules/webaudio/audio_listener.cc [modify] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/blink/renderer/modules/webaudio/audio_param.cc [modify] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/blink/renderer/modules/webaudio/audio_param.h [modify] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/blink/renderer/modules/webaudio/audio_param.idl [modify] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/blink/renderer/modules/webaudio/audio_param_descriptor.idl [modify] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/blink/renderer/modules/webaudio/audio_worklet_node.cc [modify] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/blink/renderer/modules/webaudio/biquad_dsp_kernel.cc [modify] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/blink/renderer/modules/webaudio/biquad_filter_node.cc [modify] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/blink/renderer/modules/webaudio/constant_source_node.cc [modify] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/blink/renderer/modules/webaudio/delay_node.cc [modify] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/blink/renderer/modules/webaudio/dynamics_compressor_node.cc [modify] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/blink/renderer/modules/webaudio/gain_node.cc [modify] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/blink/renderer/modules/webaudio/oscillator_node.cc [modify] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/blink/renderer/modules/webaudio/panner_node.cc [modify] https://crrev.com/59636b605b8e4b382a58a4bd8827a3a06d1df42d/third_party/blink/renderer/modules/webaudio/stereo_panner_node.cc
Comment 1 by rtoy@chromium.org
, Apr 5 2018Status: Started (was: Available)