blob: 76114000632c2916d7e6fa6bc6fd6b441b9b6ada [file] [log] [blame]
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "third_party/blink/renderer/modules/webaudio/wave_shaper_handler.h"
#include <memory>
#include "third_party/blink/renderer/modules/webaudio/audio_node.h"
#include "third_party/blink/renderer/modules/webaudio/base_audio_context.h"
#include "third_party/blink/renderer/modules/webaudio/wave_shaper_processor.h"
namespace blink {
namespace {
constexpr unsigned kNumberOfChannels = 1;
} // namespace
WaveShaperHandler::WaveShaperHandler(AudioNode& node, float sample_rate)
: AudioBasicProcessorHandler(
kNodeTypeWaveShaper,
node,
sample_rate,
std::make_unique<WaveShaperProcessor>(
sample_rate,
kNumberOfChannels,
node.context()->GetDeferredTaskHandler().RenderQuantumFrames())) {
Initialize();
}
scoped_refptr<WaveShaperHandler> WaveShaperHandler::Create(AudioNode& node,
float sample_rate) {
return base::AdoptRef(new WaveShaperHandler(node, sample_rate));
}
} // namespace blink