5#include "audio_processor.h"
31 void AddFilter(std::unique_ptr<AudioProcessor> filter);
56 std::unique_ptr<AudioProcessor>
Clone()
const override;
59 std::vector<std::unique_ptr<AudioProcessor>> filters_;
122 class IIRFilterBankImpl;
123 std::unique_ptr<IIRFilterBankImpl> impl_;
A class representing an audio buffer with multiple channels of non-interleaved audio data.
Definition audio_buffer.h:18
Base class for audio processors.
Definition audio_processor.h:23
Implements a bank of filters.
Definition filterbank.h:19
uint32_t InputChannelCount() const override
Returns the number of input channels supported by this processor.
void Clear() override
Clears the filter bank.
void Process(const AudioBuffer &input, AudioBuffer &output) noexcept override
Processes a block of input samples through the filter bank.
uint32_t OutputChannelCount() const override
Returns the number of output channels produced by this processor.
void AddFilter(std::unique_ptr< AudioProcessor > filter)
Adds a filter to the filter bank.
FilterBank()
Constructs an empty filter bank.
std::unique_ptr< AudioProcessor > Clone() const override
Creates a copy of the filter bank.
Implements a bank of IIR filters.
Definition filterbank.h:68
std::unique_ptr< AudioProcessor > Clone() const override
Creates a copy of the filter bank.
void SetFilter(std::span< const FilterCoefficients > coeffs, uint32_t channel_count)
Sets the biquad coefficients for each stage.
IIRFilterBank()
Constructs an empty IIR filter bank.
void Process(const AudioBuffer &input, AudioBuffer &output) noexcept override
Processes a block of input samples through the filter bank.
IIRFilterBank(IIRFilterBank &&) noexcept
Move constructor for the IIR filter bank.
void Clear() override
Clears the internal state of the processor.
uint32_t OutputChannelCount() const override
Returns the number of output channels produced by this processor.
uint32_t InputChannelCount() const override
Returns the number of input channels supported by this processor.
Coefficients for a digital IIR filter.
Definition types.h:222