| Index: third_party/WebKit/Source/modules/webaudio/AudioWorkletProcessor.cpp
|
| diff --git a/third_party/WebKit/Source/modules/webaudio/AudioWorkletProcessor.cpp b/third_party/WebKit/Source/modules/webaudio/AudioWorkletProcessor.cpp
|
| index 3a43f7d6f0016030a57e5738f48877629dc3c18f..b6582949719acafaf245e07daf4d45e1df77880e 100644
|
| --- a/third_party/WebKit/Source/modules/webaudio/AudioWorkletProcessor.cpp
|
| +++ b/third_party/WebKit/Source/modules/webaudio/AudioWorkletProcessor.cpp
|
| @@ -5,6 +5,7 @@
|
| #include "modules/webaudio/AudioWorkletProcessor.h"
|
|
|
| #include "modules/webaudio/AudioWorkletGlobalScope.h"
|
| +#include "modules/webaudio/AudioWorkletProcessorDefinition.h"
|
|
|
| namespace blink {
|
|
|
| @@ -13,16 +14,16 @@ namespace blink {
|
| // not be called by user in |AudioWorkletGlobalScope|.
|
| AudioWorkletProcessor* AudioWorkletProcessor::Create(
|
| AudioWorkletGlobalScope* global_scope,
|
| - const String& name) {
|
| + AudioWorkletProcessorDefinition* definition) {
|
| DCHECK(!IsMainThread());
|
| DCHECK(global_scope);
|
| - return new AudioWorkletProcessor(global_scope, name);
|
| + return new AudioWorkletProcessor(global_scope, definition);
|
| }
|
|
|
| AudioWorkletProcessor::AudioWorkletProcessor(
|
| AudioWorkletGlobalScope* global_scope,
|
| - const String& name)
|
| - : global_scope_(global_scope), name_(name), instance_(this) {}
|
| + AudioWorkletProcessorDefinition* definition)
|
| + : global_scope_(global_scope), definition_(definition), instance_(this) {}
|
|
|
| AudioWorkletProcessor::~AudioWorkletProcessor() {}
|
|
|
| @@ -38,14 +39,34 @@ v8::Local<v8::Object> AudioWorkletProcessor::InstanceLocal(
|
| return instance_.NewLocal(isolate);
|
| }
|
|
|
| -void AudioWorkletProcessor::Process(AudioBuffer* input_buffer,
|
| - AudioBuffer* output_buffer) {
|
| +void AudioWorkletProcessor::Process(
|
| + AudioBuffer* input_buffer,
|
| + AudioBuffer* output_buffer,
|
| + HashMap<String, AudioFloatArray*> audio_param_data_map) {
|
| DCHECK(global_scope_->IsContextThread());
|
| - global_scope_->Process(this, input_buffer, output_buffer);
|
| + if (!input_buffer || !output_buffer)
|
| + return;
|
| +
|
| + global_scope_->Process(this,
|
| + input_buffer, output_buffer, audio_param_data_map);
|
| +}
|
| +
|
| +const String& AudioWorkletProcessor::GetName() const {
|
| + return definition_->GetName();
|
| +}
|
| +
|
| +const AudioWorkletProcessorDefinition*
|
| + AudioWorkletProcessor::GetDefinition() const {
|
| + return definition_;
|
| +}
|
| +
|
| +void AudioWorkletProcessor::Dispose() {
|
| + is_disposed_ = true;
|
| }
|
|
|
| DEFINE_TRACE(AudioWorkletProcessor) {
|
| visitor->Trace(global_scope_);
|
| + visitor->Trace(definition_);
|
| }
|
|
|
| DEFINE_TRACE_WRAPPERS(AudioWorkletProcessor) {
|
|
|