| Index: third_party/WebKit/Source/modules/webaudio/WaveShaperProcessor.cpp
|
| diff --git a/third_party/WebKit/Source/modules/webaudio/WaveShaperProcessor.cpp b/third_party/WebKit/Source/modules/webaudio/WaveShaperProcessor.cpp
|
| index a27c62c5cab40c1fd560020b825e27df05c6fb0a..725431669900242af2944f72a951c431e373873a 100644
|
| --- a/third_party/WebKit/Source/modules/webaudio/WaveShaperProcessor.cpp
|
| +++ b/third_party/WebKit/Source/modules/webaudio/WaveShaperProcessor.cpp
|
| @@ -46,19 +46,21 @@ std::unique_ptr<AudioDSPKernel> WaveShaperProcessor::createKernel()
|
| return wrapUnique(new WaveShaperDSPKernel(this));
|
| }
|
|
|
| -void WaveShaperProcessor::setCurve(DOMFloat32Array* curve)
|
| +void WaveShaperProcessor::setCurve(const float* curveData, unsigned curveLength)
|
| {
|
| + DCHECK(isMainThread());
|
| +
|
| // This synchronizes with process().
|
| MutexLocker processLocker(m_processLock);
|
|
|
| - // Copy the curve data, if any, to our internal buffer.
|
| - if (!curve) {
|
| + if (curveLength == 0 || !curveData) {
|
| m_curve = nullptr;
|
| return;
|
| }
|
|
|
| - m_curve = wrapUnique(new Vector<float>(curve->length()));
|
| - memcpy(m_curve->data(), curve->data(), sizeof(float)*curve->length());
|
| + // Copy the curve data, if any, to our internal buffer.
|
| + m_curve = wrapUnique(new Vector<float>(curveLength));
|
| + memcpy(m_curve->data(), curveData, sizeof(float)*curveLength);
|
| }
|
|
|
| void WaveShaperProcessor::setOversample(OverSampleType oversample)
|
|
|