| Index: third_party/WebKit/Source/modules/webaudio/DeferredTaskHandler.cpp
|
| diff --git a/third_party/WebKit/Source/modules/webaudio/DeferredTaskHandler.cpp b/third_party/WebKit/Source/modules/webaudio/DeferredTaskHandler.cpp
|
| index 659be155fbd995e8dc6c7982925d553656ccb4f2..c5d791fa942fc8b46f1322435015382c8263eae2 100644
|
| --- a/third_party/WebKit/Source/modules/webaudio/DeferredTaskHandler.cpp
|
| +++ b/third_party/WebKit/Source/modules/webaudio/DeferredTaskHandler.cpp
|
| @@ -179,6 +179,52 @@ void DeferredTaskHandler::processAutomaticPullNodes(size_t framesToProcess)
|
| m_renderingAutomaticPullNodes[i]->processIfNecessary(framesToProcess);
|
| }
|
|
|
| +void DeferredTaskHandler::addChangedChannelCountMode(AudioHandler* node)
|
| +{
|
| + ASSERT(isGraphOwner());
|
| + DCHECK(isMainThread());
|
| + m_deferredCountModeChange.add(node);
|
| +}
|
| +
|
| +void DeferredTaskHandler::removeChangedChannelCountMode(AudioHandler* node)
|
| +{
|
| + ASSERT(isGraphOwner());
|
| +
|
| + m_deferredCountModeChange.remove(node);
|
| +}
|
| +
|
| +void DeferredTaskHandler::addChangedChannelInterpretation(AudioHandler* node)
|
| +{
|
| + ASSERT(isGraphOwner());
|
| + DCHECK(isMainThread());
|
| + m_deferredChannelInterpretationChange.add(node);
|
| +}
|
| +
|
| +void DeferredTaskHandler::removeChangedChannelInterpretation(AudioHandler* node)
|
| +{
|
| + ASSERT(isGraphOwner());
|
| +
|
| + m_deferredChannelInterpretationChange.remove(node);
|
| +}
|
| +
|
| +void DeferredTaskHandler::updateChangedChannelCountMode()
|
| +{
|
| + ASSERT(isGraphOwner());
|
| +
|
| + for (AudioHandler* node : m_deferredCountModeChange)
|
| + node->updateChannelCountMode();
|
| + m_deferredCountModeChange.clear();
|
| +}
|
| +
|
| +void DeferredTaskHandler::updateChangedChannelInterpretation()
|
| +{
|
| + ASSERT(isGraphOwner());
|
| +
|
| + for (AudioHandler* node : m_deferredChannelInterpretationChange)
|
| + node->updateChannelInterpretation();
|
| + m_deferredChannelInterpretationChange.clear();
|
| +}
|
| +
|
| DeferredTaskHandler::DeferredTaskHandler()
|
| : m_automaticPullNodesNeedUpdating(false)
|
| , m_audioThread(0)
|
| @@ -200,6 +246,8 @@ DeferredTaskHandler::~DeferredTaskHandler()
|
|
|
| void DeferredTaskHandler::handleDeferredTasks()
|
| {
|
| + updateChangedChannelCountMode();
|
| + updateChangedChannelInterpretation();
|
| handleDirtyAudioSummingJunctions();
|
| handleDirtyAudioNodeOutputs();
|
| updateAutomaticPullNodes();
|
|
|