| Index: chromecast/media/cma/base/balanced_media_task_runner_factory.cc
|
| 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 f365534e457e0375302bc83eef001e47c70c289e..3aba0730afee405e1bcd1c0854965556e842b190 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
|
|
|