According to https://webaudio.github.io/web-audio-api/#widl-WaveShaperNode-curve the curve must be copied so that subsequent changes to the array have no effect on the wave shaper.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7b93c871846de69e79de9c0ffb9fd6a7f3802be7 commit 7b93c871846de69e79de9c0ffb9fd6a7f3802be7 Author: rtoy <rtoy@chromium.org> Date: Fri Aug 12 15:36:25 2016 WaveShaperNode should copy its curve. When setting the curve attribute for a WaveShaperNode, changes to the curve should NOT modify the output of the node. Hence, copy the curve data to an internal buffer so that changes won't be propagated. BUG= 635052 TEST=waveshaper-copy-curve.html Review-Url: https://codereview.chromium.org/2223613002 Cr-Commit-Position: refs/heads/master@{#411658} [modify] https://crrev.com/7b93c871846de69e79de9c0ffb9fd6a7f3802be7/third_party/WebKit/LayoutTests/webaudio/resources/audio-testing.js [add] https://crrev.com/7b93c871846de69e79de9c0ffb9fd6a7f3802be7/third_party/WebKit/LayoutTests/webaudio/waveshaper-copy-curve.html [add] https://crrev.com/7b93c871846de69e79de9c0ffb9fd6a7f3802be7/third_party/WebKit/LayoutTests/webaudio/waveshaper-simple.html [modify] https://crrev.com/7b93c871846de69e79de9c0ffb9fd6a7f3802be7/third_party/WebKit/Source/modules/webaudio/WaveShaperDSPKernel.cpp [modify] https://crrev.com/7b93c871846de69e79de9c0ffb9fd6a7f3802be7/third_party/WebKit/Source/modules/webaudio/WaveShaperNode.cpp [modify] https://crrev.com/7b93c871846de69e79de9c0ffb9fd6a7f3802be7/third_party/WebKit/Source/modules/webaudio/WaveShaperProcessor.cpp [modify] https://crrev.com/7b93c871846de69e79de9c0ffb9fd6a7f3802be7/third_party/WebKit/Source/modules/webaudio/WaveShaperProcessor.h
Comment 1 by rtoy@chromium.org
, Aug 8 2016Status: Started (was: Available)