Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(675)

Unified Diff: third_party/WebKit/Source/modules/webaudio/AudioWorkletProcessor.cpp

Issue 2793593002: AudioWorklet prototype
Patch Set: Merge changes, AudioParam bug fix Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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) {

Powered by Google App Engine
This is Rietveld 408576698