#include "third_party/blink/renderer/modules/webaudio/audio_buffer_source_node.h"
#include <algorithm>
#include "base/numerics/safe_conversions.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_audio_buffer_source_options.h"
#include "third_party/blink/renderer/modules/webaudio/audio_graph_tracer.h"
#include "third_party/blink/renderer/modules/webaudio/audio_node_output.h"
#include "third_party/blink/renderer/modules/webaudio/base_audio_context.h"
#include "third_party/blink/renderer/platform/audio/audio_utilities.h"
#include "third_party/blink/renderer/platform/bindings/exception_messages.h"
#include "third_party/blink/renderer/platform/bindings/exception_state.h"
#include "third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h"
#include "third_party/blink/renderer/platform/instrumentation/use_counter.h"
#include "third_party/blink/renderer/platform/wtf/math_extras.h"
#include "third_party/fdlibm/ieee754.h"
namespace blink {
namespace {
constexpr double kDefaultPlaybackRateValue = …;
constexpr double kDefaultDetuneValue = …;
}
AudioBufferSourceNode::AudioBufferSourceNode(BaseAudioContext& context)
: … { … }
AudioBufferSourceNode* AudioBufferSourceNode::Create(
BaseAudioContext& context,
ExceptionState& exception_state) { … }
AudioBufferSourceNode* AudioBufferSourceNode::Create(
BaseAudioContext* context,
AudioBufferSourceOptions* options,
ExceptionState& exception_state) { … }
void AudioBufferSourceNode::Trace(Visitor* visitor) const { … }
AudioBufferSourceHandler& AudioBufferSourceNode::GetAudioBufferSourceHandler()
const { … }
AudioBuffer* AudioBufferSourceNode::buffer() const { … }
void AudioBufferSourceNode::setBuffer(AudioBuffer* new_buffer,
ExceptionState& exception_state) { … }
AudioParam* AudioBufferSourceNode::playbackRate() const { … }
AudioParam* AudioBufferSourceNode::detune() const { … }
bool AudioBufferSourceNode::loop() const { … }
void AudioBufferSourceNode::setLoop(bool loop) { … }
double AudioBufferSourceNode::loopStart() const { … }
void AudioBufferSourceNode::setLoopStart(double loop_start) { … }
double AudioBufferSourceNode::loopEnd() const { … }
void AudioBufferSourceNode::setLoopEnd(double loop_end) { … }
void AudioBufferSourceNode::start(ExceptionState& exception_state) { … }
void AudioBufferSourceNode::start(double when,
ExceptionState& exception_state) { … }
void AudioBufferSourceNode::start(double when,
double grain_offset,
ExceptionState& exception_state) { … }
void AudioBufferSourceNode::start(double when,
double grain_offset,
double grain_duration,
ExceptionState& exception_state) { … }
void AudioBufferSourceNode::ReportDidCreate() { … }
void AudioBufferSourceNode::ReportWillBeDestroyed() { … }
}