| Index: third_party/WebKit/Source/modules/webaudio/BiquadFilterNode.cpp
|
| diff --git a/third_party/WebKit/Source/modules/webaudio/BiquadFilterNode.cpp b/third_party/WebKit/Source/modules/webaudio/BiquadFilterNode.cpp
|
| index 5b5bb1d158d89531484677ff0645e9f969fb2124..403b79259813480383561d550d0274555bbec3d4 100644
|
| --- a/third_party/WebKit/Source/modules/webaudio/BiquadFilterNode.cpp
|
| +++ b/third_party/WebKit/Source/modules/webaudio/BiquadFilterNode.cpp
|
| @@ -171,12 +171,23 @@ bool BiquadFilterNode::setType(unsigned type) {
|
| return true;
|
| }
|
|
|
| -void BiquadFilterNode::getFrequencyResponse(const DOMFloat32Array* frequencyHz,
|
| - DOMFloat32Array* magResponse,
|
| - DOMFloat32Array* phaseResponse) {
|
| - DCHECK(frequencyHz);
|
| - DCHECK(magResponse);
|
| - DCHECK(phaseResponse);
|
| +void BiquadFilterNode::getFrequencyResponse(
|
| + const MaybeShared<const DOMFloat32Array>& maybeSharedFrequencyHz,
|
| + const MaybeShared<DOMFloat32Array>& maybeSharedMagResponse,
|
| + const MaybeShared<DOMFloat32Array>& maybeSharedPhaseResponse) {
|
| + DCHECK(maybeSharedFrequencyHz);
|
| + DCHECK(maybeSharedMagResponse);
|
| + DCHECK(maybeSharedPhaseResponse);
|
| +
|
| + if (maybeSharedFrequencyHz.isShared() || maybeSharedMagResponse.isShared() ||
|
| + maybeSharedPhaseResponse.isShared()) {
|
| + // TODO(binji): Throw exception?
|
| + return;
|
| + }
|
| +
|
| + const DOMFloat32Array* frequencyHz = maybeSharedFrequencyHz.viewNotShared();
|
| + DOMFloat32Array* magResponse = maybeSharedMagResponse.viewNotShared();
|
| + DOMFloat32Array* phaseResponse = maybeSharedPhaseResponse.viewNotShared();
|
|
|
| int n = std::min(frequencyHz->length(),
|
| std::min(magResponse->length(), phaseResponse->length()));
|
|
|