#include "third_party/blink/renderer/modules/webaudio/iir_filter_node.h"
#include "base/metrics/histogram_functions.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_iir_filter_options.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/inspector/console_message.h"
#include "third_party/blink/renderer/modules/webaudio/audio_graph_tracer.h"
#include "third_party/blink/renderer/modules/webaudio/base_audio_context.h"
#include "third_party/blink/renderer/modules/webaudio/iir_filter_handler.h"
#include "third_party/blink/renderer/modules/webaudio/iir_processor.h"
#include "third_party/blink/renderer/platform/audio/iir_filter.h"
#include "third_party/blink/renderer/platform/bindings/exception_messages.h"
#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
namespace blink {
namespace {
bool IsFilterStable(const Vector<double>& feedback_coef) { … }
}
IIRFilterNode::IIRFilterNode(BaseAudioContext& context,
const Vector<double>& feedforward_coef,
const Vector<double>& feedback_coef,
bool is_filter_stable)
: … { … }
IIRFilterNode* IIRFilterNode::Create(BaseAudioContext& context,
const Vector<double>& feedforward_coef,
const Vector<double>& feedback_coef,
ExceptionState& exception_state) { … }
IIRFilterNode* IIRFilterNode::Create(BaseAudioContext* context,
const IIRFilterOptions* options,
ExceptionState& exception_state) { … }
void IIRFilterNode::Trace(Visitor* visitor) const { … }
IIRProcessor* IIRFilterNode::GetIIRFilterProcessor() const { … }
void IIRFilterNode::getFrequencyResponse(
NotShared<const DOMFloat32Array> frequency_hz,
NotShared<DOMFloat32Array> mag_response,
NotShared<DOMFloat32Array> phase_response,
ExceptionState& exception_state) { … }
void IIRFilterNode::ReportDidCreate() { … }
void IIRFilterNode::ReportWillBeDestroyed() { … }
}