Chromium Code Reviews| 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 5c3862b65cf2f3a976493bde29710310364e40b9..001d54cf2d50f1eab9fe3083ae489b6d70f43adc 100644 |
| --- a/chromecast/browser/cast_browser_main_parts.cc |
| +++ b/chromecast/browser/cast_browser_main_parts.cc |
| @@ -273,6 +273,15 @@ media::MediaResourceTracker* CastBrowserMainParts::media_resource_tracker() { |
| } |
| #endif |
| +media::MediaPipelineBackendManager* |
| +CastBrowserMainParts::media_pipeline_backend_manager() { |
| + if (!media_pipeline_backend_manager_) { |
| + media_pipeline_backend_manager_.reset( |
| + new media::MediaPipelineBackendManager(GetMediaTaskRunner())); |
| + } |
| + return media_pipeline_backend_manager_.get(); |
| +} |
| + |
| void CastBrowserMainParts::PreMainMessageLoopStart() { |
| // GroupedHistograms needs to be initialized before any threads are created |
| // to prevent race conditions between calls to Preregister and those threads |
| @@ -337,7 +346,8 @@ int CastBrowserMainParts::PreCreateThreads() { |
| // AudioManager is created immediately after threads are created, requiring |
| // AudioManagerFactory to be set beforehand. |
| - ::media::AudioManager::SetFactory(new media::CastAudioManagerFactory()); |
| + ::media::AudioManager::SetFactory( |
| + new media::CastAudioManagerFactory(media_pipeline_backend_manager())); |
| // Set GL strings so GPU config code can make correct feature blacklisting/ |
| // whitelisting decisions. |
| @@ -416,7 +426,7 @@ void CastBrowserMainParts::PreMainMessageLoopRun() { |
| cast_browser_process_->browser_context(), |
| cast_browser_process_->pref_service(), |
| url_request_context_factory_->GetSystemGetter(), |
| - video_plane_controller_.get())); |
| + video_plane_controller_.get(), media_pipeline_backend_manager())); |
| cast_browser_process_->cast_service()->Initialize(); |
| #if !defined(OS_ANDROID) |
| @@ -485,6 +495,7 @@ void CastBrowserMainParts::PostDestroyThreads() { |
| #if !defined(OS_ANDROID) |
| media_resource_tracker_->FinalizeAndDestroy(); |
| media_resource_tracker_ = nullptr; |
| + media_pipeline_backend_manager_.reset(nullptr); |
|
alokp
2016/03/31 04:37:24
1. No need for nullptr.
2. This needs to happen be
tianyuwang1
2016/03/31 18:14:53
Done.
|
| #endif |
| } |