summaryrefslogtreecommitdiffstats
path: root/chromecast
diff options
context:
space:
mode:
authorservolk <servolk@chromium.org>2015-05-18 13:30:29 -0700
committerCommit bot <commit-bot@chromium.org>2015-05-18 20:30:43 +0000
commitbb537f10a592f899d157529a26545240933be51c (patch)
treeb485a1bc4194a01408ff1ff0b994cf71eacf5f4c /chromecast
parenteb6ee29760e931d407422e157305effcb4bfbebc (diff)
downloadchromium_src-bb537f10a592f899d157529a26545240933be51c.zip
chromium_src-bb537f10a592f899d157529a26545240933be51c.tar.gz
chromium_src-bb537f10a592f899d157529a26545240933be51c.tar.bz2
Wake up other streams/task runners after removing ended stream
BUG=internal b/19560149 Review URL: https://codereview.chromium.org/1127183008 Cr-Commit-Position: refs/heads/master@{#330400}
Diffstat (limited to 'chromecast')
-rw-r--r--chromecast/media/cma/base/balanced_media_task_runner_factory.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/chromecast/media/cma/base/balanced_media_task_runner_factory.cc b/chromecast/media/cma/base/balanced_media_task_runner_factory.cc
index f365534..3aba073 100644
--- a/chromecast/media/cma/base/balanced_media_task_runner_factory.cc
+++ b/chromecast/media/cma/base/balanced_media_task_runner_factory.cc
@@ -244,8 +244,14 @@ void BalancedMediaTaskRunnerFactory::OnNewTask() {
void BalancedMediaTaskRunnerFactory::UnregisterMediaTaskRunner(
const scoped_refptr<BalancedMediaTaskRunner>& media_task_runner) {
- base::AutoLock auto_lock(lock_);
- task_runners_.erase(media_task_runner);
+ {
+ base::AutoLock auto_lock(lock_);
+ task_runners_.erase(media_task_runner);
+ }
+ // After removing one of the task runners some of the other task runners might
+ // need to be waken up, if they are no longer blocked by the balancing
+ // restrictions with the old stream.
+ OnNewTask();
}
} // namespace media