| Index: third_party/WebKit/Source/modules/webaudio/BaseAudioContext.cpp
|
| diff --git a/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.cpp b/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.cpp
|
| index 607f2e6c32ad832bcd59b703c02c60340ed66c7a..fef9aa6f89b6946b10852251acb2b72ecb9d6397 100644
|
| --- a/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.cpp
|
| +++ b/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.cpp
|
| @@ -48,6 +48,7 @@
|
| #include "modules/webaudio/AudioListener.h"
|
| #include "modules/webaudio/AudioNodeInput.h"
|
| #include "modules/webaudio/AudioNodeOutput.h"
|
| +#include "modules/webaudio/AudioWorkletMessagingProxy.h"
|
| #include "modules/webaudio/BiquadFilterNode.h"
|
| #include "modules/webaudio/ChannelMergerNode.h"
|
| #include "modules/webaudio/ChannelSplitterNode.h"
|
| @@ -152,10 +153,39 @@ void BaseAudioContext::Initialize() {
|
| if (IsDestinationInitialized())
|
| return;
|
|
|
| + // At this point, AudioWorklet should be initialized. Cache the reference to
|
| + // it.
|
| + worklet_messaging_proxy_ = static_cast<AudioWorkletMessagingProxy*>(
|
| + GetAudioWorklet()->GetWorkletGlobalScopeProxy());
|
| +
|
| + LOG(INFO) << "BaseAudioContext::Initialize AWMP_rendering_thread = "
|
| + << worklet_messaging_proxy_->GetRenderingThread();
|
| +
|
| + // =========================================================================
|
| + // WebThread* rendering_thread =
|
| + // destination()->GetAudioDestinationHandler().GetRenderingThread();
|
| +
|
| + // LOG(INFO) << "rendering_thread = " << rendering_thread;
|
| +
|
| + // // Reset the worklet thread. Not sure if this is okay.
|
| + // AudioWorkletThread::SetSharedBackingThread(rendering_thread);
|
| +
|
| + // LOG(INFO) << "AudioWorkletThread = "
|
| + // << WorkletThreadHolder<AudioWorkletThread>::GetInstance()->GetThread();
|
| +
|
| + // worklet_messaging_proxy_ =
|
| + // static_cast<AudioWorkletMessagingProxy*>(
|
| + // audio_worklet_->GetWorkletGlobalScopeProxy());
|
| + // LOG(INFO) << "worklet_messaging_proxy_ = " << worklet_messaging_proxy_;
|
| +
|
| + // worklet_messaging_proxy_->RequestProcessorDefinitionMap();
|
| + // =========================================================================
|
| +
|
| FFTFrame::Initialize();
|
|
|
| if (destination_node_) {
|
| destination_node_->Handler().Initialize();
|
| +
|
| // The AudioParams in the listener need access to the destination node, so
|
| // only create the listener if the destination node exists.
|
| listener_ = AudioListener::Create(*this);
|
| @@ -916,6 +946,7 @@ DEFINE_TRACE(BaseAudioContext) {
|
| visitor->Trace(periodic_wave_square_);
|
| visitor->Trace(periodic_wave_sawtooth_);
|
| visitor->Trace(periodic_wave_triangle_);
|
| +
|
| EventTargetWithInlineData::Trace(visitor);
|
| SuspendableObject::Trace(visitor);
|
| }
|
| @@ -927,4 +958,17 @@ SecurityOrigin* BaseAudioContext::GetSecurityOrigin() const {
|
| return nullptr;
|
| }
|
|
|
| +AudioWorklet* BaseAudioContext::GetAudioWorklet() {
|
| + return WindowAudioWorklet::audioWorklet(
|
| + *(SuspendableObject::GetExecutionContext()->ExecutingWindow()));
|
| +}
|
| +
|
| +AudioWorkletMessagingProxy* BaseAudioContext::GetWorkletMessagingProxy() {
|
| + return worklet_messaging_proxy_;
|
| +}
|
| +
|
| +WebThreadSupportingGC* BaseAudioContext::GetRenderingThread() {
|
| + return worklet_messaging_proxy_->GetRenderingThread();
|
| +}
|
| +
|
| } // namespace blink
|
|
|