| 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 9c2d86fa8a35e54f318dba31c5909619de2015d5..5f01c043539a2f0eec049fbe47e42ae3e85df64d 100644
|
| --- a/third_party/WebKit/Source/modules/webaudio/DeferredTaskHandler.cpp
|
| +++ b/third_party/WebKit/Source/modules/webaudio/DeferredTaskHandler.cpp
|
| @@ -193,6 +193,20 @@ void DeferredTaskHandler::removeChangedChannelCountMode(AudioHandler* node)
|
| m_deferredCountModeChange.remove(node);
|
| }
|
|
|
| +void DeferredTaskHandler::addChangedChannelInterpretation(AudioHandler* node)
|
| +{
|
| + DCHECK(isGraphOwner());
|
| + DCHECK(isMainThread());
|
| + m_deferredChannelInterpretationChange.add(node);
|
| +}
|
| +
|
| +void DeferredTaskHandler::removeChangedChannelInterpretation(AudioHandler* node)
|
| +{
|
| + DCHECK(isGraphOwner());
|
| +
|
| + m_deferredChannelInterpretationChange.remove(node);
|
| +}
|
| +
|
| void DeferredTaskHandler::updateChangedChannelCountMode()
|
| {
|
| ASSERT(isGraphOwner());
|
| @@ -202,6 +216,15 @@ void DeferredTaskHandler::updateChangedChannelCountMode()
|
| m_deferredCountModeChange.clear();
|
| }
|
|
|
| +void DeferredTaskHandler::updateChangedChannelInterpretation()
|
| +{
|
| + DCHECK(isGraphOwner());
|
| +
|
| + for (AudioHandler* node : m_deferredChannelInterpretationChange)
|
| + node->updateChannelInterpretation();
|
| + m_deferredChannelInterpretationChange.clear();
|
| +}
|
| +
|
| DeferredTaskHandler::DeferredTaskHandler()
|
| : m_automaticPullNodesNeedUpdating(false)
|
| , m_audioThread(0)
|
| @@ -224,6 +247,7 @@ DeferredTaskHandler::~DeferredTaskHandler()
|
| void DeferredTaskHandler::handleDeferredTasks()
|
| {
|
| updateChangedChannelCountMode();
|
| + updateChangedChannelInterpretation();
|
| handleDirtyAudioSummingJunctions();
|
| handleDirtyAudioNodeOutputs();
|
| updateAutomaticPullNodes();
|
|
|