diff options
author | servolk <servolk@chromium.org> | 2015-05-18 13:30:29 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-05-18 20:30:43 +0000 |
commit | bb537f10a592f899d157529a26545240933be51c (patch) | |
tree | b485a1bc4194a01408ff1ff0b994cf71eacf5f4c /chromecast | |
parent | eb6ee29760e931d407422e157305effcb4bfbebc (diff) | |
download | chromium_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.cc | 10 |
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 |