| Index: chromecast/browser/cast_browser_main_parts.cc
|
| diff --git a/chromecast/browser/cast_browser_main_parts.cc b/chromecast/browser/cast_browser_main_parts.cc
|
| index b33af2709677eb43d8459d7ebf2962d3237891d0..ccb0fa874aa8c87c1a354ff3640c59041160c6de 100644
|
| --- a/chromecast/browser/cast_browser_main_parts.cc
|
| +++ b/chromecast/browser/cast_browser_main_parts.cc
|
| @@ -317,6 +317,12 @@ CastBrowserMainParts::GetMediaTaskRunner() {
|
| base::Thread::Options options;
|
| options.priority = base::ThreadPriority::REALTIME_AUDIO;
|
| CHECK(media_thread_->StartWithOptions(options));
|
| + // Start the media_resource_tracker as soon as the media thread is created.
|
| + // There are services that run on the media thread that depend on it,
|
| + // and we want to initialize it with the correct task runner before any
|
| + // tasks that might use it are posted to the media thread.
|
| + media_resource_tracker_ = new media::MediaResourceTracker(
|
| + base::ThreadTaskRunnerHandle::Get(), media_thread_->task_runner());
|
| }
|
| return media_thread_->task_runner();
|
| #else
|
| @@ -326,10 +332,7 @@ CastBrowserMainParts::GetMediaTaskRunner() {
|
|
|
| #if BUILDFLAG(IS_CAST_USING_CMA_BACKEND)
|
| media::MediaResourceTracker* CastBrowserMainParts::media_resource_tracker() {
|
| - if (!media_resource_tracker_) {
|
| - media_resource_tracker_ = new media::MediaResourceTracker(
|
| - base::ThreadTaskRunnerHandle::Get(), GetMediaTaskRunner());
|
| - }
|
| + DCHECK(media_thread_);
|
| return media_resource_tracker_;
|
| }
|
|
|
|
|