#include "third_party/blink/renderer/modules/webaudio/deferred_task_handler.h"
#include "base/task/single_thread_task_runner.h"
#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/renderer/modules/webaudio/audio_node.h"
#include "third_party/blink/renderer/modules/webaudio/audio_node_output.h"
#include "third_party/blink/renderer/modules/webaudio/offline_audio_context.h"
#include "third_party/blink/renderer/platform/scheduler/public/post_cancellable_task.h"
#include "third_party/blink/renderer/platform/scheduler/public/post_cross_thread_task.h"
#include "third_party/blink/renderer/platform/scheduler/public/thread.h"
#include "third_party/blink/renderer/platform/wtf/cross_thread_copier_base.h"
#include "third_party/blink/renderer/platform/wtf/cross_thread_functional.h"
namespace blink {
void DeferredTaskHandler::lock() { … }
bool DeferredTaskHandler::TryLock() { … }
void DeferredTaskHandler::unlock() { … }
void DeferredTaskHandler::OfflineLock() { … }
void DeferredTaskHandler::BreakConnections() { … }
void DeferredTaskHandler::MarkSummingJunctionDirty(
AudioSummingJunction* summing_junction) { … }
void DeferredTaskHandler::RemoveMarkedSummingJunction(
AudioSummingJunction* summing_junction) { … }
void DeferredTaskHandler::MarkAudioNodeOutputDirty(AudioNodeOutput* output) { … }
void DeferredTaskHandler::RemoveMarkedAudioNodeOutput(AudioNodeOutput* output) { … }
void DeferredTaskHandler::HandleDirtyAudioSummingJunctions() { … }
void DeferredTaskHandler::HandleDirtyAudioNodeOutputs() { … }
void DeferredTaskHandler::AddAutomaticPullNode(
scoped_refptr<AudioHandler> node) { … }
void DeferredTaskHandler::RemoveAutomaticPullNode(AudioHandler* node) { … }
bool DeferredTaskHandler::HasAutomaticPullNodes() { … }
void DeferredTaskHandler::UpdateAutomaticPullNodes() { … }
void DeferredTaskHandler::ProcessAutomaticPullNodes(
uint32_t frames_to_process) { … }
void DeferredTaskHandler::AddTailProcessingHandler(
scoped_refptr<AudioHandler> handler) { … }
void DeferredTaskHandler::RemoveTailProcessingHandler(AudioHandler* handler,
bool disable_outputs) { … }
void DeferredTaskHandler::UpdateTailProcessingHandlers() { … }
void DeferredTaskHandler::AddChangedChannelCountMode(AudioHandler* node) { … }
void DeferredTaskHandler::RemoveChangedChannelCountMode(AudioHandler* node) { … }
void DeferredTaskHandler::AddChangedChannelInterpretation(AudioHandler* node) { … }
void DeferredTaskHandler::RemoveChangedChannelInterpretation(
AudioHandler* node) { … }
void DeferredTaskHandler::UpdateChangedChannelCountMode() { … }
void DeferredTaskHandler::UpdateChangedChannelInterpretation() { … }
DeferredTaskHandler::DeferredTaskHandler(
scoped_refptr<base::SingleThreadTaskRunner> task_runner)
: … { … }
scoped_refptr<DeferredTaskHandler> DeferredTaskHandler::Create(
scoped_refptr<base::SingleThreadTaskRunner> task_runner) { … }
DeferredTaskHandler::~DeferredTaskHandler() = default;
void DeferredTaskHandler::HandleDeferredTasks() { … }
void DeferredTaskHandler::ContextWillBeDestroyed() { … }
DeferredTaskHandler::GraphAutoLocker::GraphAutoLocker(
const BaseAudioContext* context)
: … { … }
DeferredTaskHandler::OfflineGraphAutoLocker::OfflineGraphAutoLocker(
OfflineAudioContext* context)
: … { … }
void DeferredTaskHandler::AddRenderingOrphanHandler(
scoped_refptr<AudioHandler> handler) { … }
void DeferredTaskHandler::RequestToDeleteHandlersOnMainThread() { … }
void DeferredTaskHandler::DeleteHandlersOnMainThread() { … }
void DeferredTaskHandler::ClearHandlersToBeDeleted() { … }
void DeferredTaskHandler::ClearContextFromOrphanHandlers() { … }
void DeferredTaskHandler::SetAudioThreadToCurrentThread() { … }
void DeferredTaskHandler::DisableOutputsForTailProcessing() { … }
void DeferredTaskHandler::FinishTailProcessing() { … }
}