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) { |