Chromium Code Reviews| Index: third_party/WebKit/Source/modules/webaudio/IIRProcessor.h |
| diff --git a/third_party/WebKit/Source/modules/webaudio/IIRProcessor.h b/third_party/WebKit/Source/modules/webaudio/IIRProcessor.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..5ea5d035a97b770a11a376a18631573cdb65a77e |
| --- /dev/null |
| +++ b/third_party/WebKit/Source/modules/webaudio/IIRProcessor.h |
| @@ -0,0 +1,43 @@ |
| +// Copyright 2015 The Chromium Authors. All rights reserved. |
|
tkent
2016/01/13 03:28:28
2016
Raymond Toy
2016/01/13 18:30:54
Done.
|
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef IIRProcessor_h |
| +#define IIRProcessor_h |
| + |
| +#include "modules/webaudio/AudioNode.h" |
| +#include "platform/audio/AudioDSPKernel.h" |
| +#include "platform/audio/AudioDSPKernelProcessor.h" |
| +#include "platform/audio/IIRFilter.h" |
| + |
| +namespace blink { |
| + |
| +class IIRDSPKernel; |
| + |
| +class IIRProcessor final : public AudioDSPKernelProcessor { |
| +public: |
| + IIRProcessor(float sampleRate, size_t numberOfChannels, |
| + const Vector<double>& feedforwardCoef, const Vector<double>& feedbackCoef); |
| + ~IIRProcessor() override; |
| + |
| + PassOwnPtr<AudioDSPKernel> createKernel() override; |
| + |
| + void process(const AudioBus* source, AudioBus* destination, size_t framesToProcess) override; |
| + |
| + // Get the magnitude and phase response of the filter at the given |
| + // set of frequencies (in Hz). The phase response is in radians. |
| + void getFrequencyResponse(int nFrequencies, const float* frequencyHz, float* magResponse, float* phaseResponse); |
| + |
| + AudioDoubleArray* feedback() { return &m_feedback; } |
| + AudioDoubleArray* feedforward() { return &m_feedforward; } |
| +private: |
|
tkent
2016/01/13 03:28:28
nit: Add a blank line before |private:|.
Raymond Toy
2016/01/13 18:30:53
Done.
|
| + // The feedback and feedforward filter coefficients for the IIR filter. |
| + AudioDoubleArray m_feedback; |
| + AudioDoubleArray m_feedforward; |
| + // This holds the IIR kernel for computing the frequency response. |
| + OwnPtr<IIRDSPKernel> m_responseKernel; |
| +}; |
| + |
| +} // blink |
|
tkent
2016/01/13 03:28:28
nit: blink -> namespace blink
Raymond Toy
2016/01/13 18:30:53
Done.
|
| + |
| +#endif // IIRProcessor_h |