#include "third_party/blink/renderer/modules/webaudio/convolver_handler.h"
#include <memory>
#include "base/metrics/histogram_macros.h"
#include "base/synchronization/lock.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_convolver_options.h"
#include "third_party/blink/renderer/modules/webaudio/audio_buffer.h"
#include "third_party/blink/renderer/modules/webaudio/audio_graph_tracer.h"
#include "third_party/blink/renderer/modules/webaudio/audio_node_input.h"
#include "third_party/blink/renderer/modules/webaudio/audio_node_output.h"
#include "third_party/blink/renderer/platform/audio/reverb.h"
#include "third_party/blink/renderer/platform/bindings/exception_messages.h"
#include "third_party/blink/renderer/platform/bindings/exception_state.h"
namespace blink {
namespace {
constexpr unsigned kMaxFftSize = …;
constexpr unsigned kDefaultNumberOfInputChannels = …;
constexpr unsigned kDefaultNumberOfOutputChannels = …;
}
ConvolverHandler::ConvolverHandler(AudioNode& node, float sample_rate)
: … { … }
scoped_refptr<ConvolverHandler> ConvolverHandler::Create(AudioNode& node,
float sample_rate) { … }
ConvolverHandler::~ConvolverHandler() { … }
void ConvolverHandler::Process(uint32_t frames_to_process) { … }
void ConvolverHandler::SetBuffer(AudioBuffer* buffer,
ExceptionState& exception_state) { … }
bool ConvolverHandler::RequiresTailProcessing() const { … }
double ConvolverHandler::TailTime() const { … }
double ConvolverHandler::LatencyTime() const { … }
unsigned ConvolverHandler::ComputeNumberOfOutputChannels(
unsigned input_channels,
unsigned response_channels) const { … }
void ConvolverHandler::SetChannelCount(unsigned channel_count,
ExceptionState& exception_state) { … }
void ConvolverHandler::SetChannelCountMode(const String& mode,
ExceptionState& exception_state) { … }
void ConvolverHandler::CheckNumberOfChannelsForInput(AudioNodeInput* input) { … }
}