Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8275)

Unified Diff: chromecast/browser/cast_browser_main_parts.cc

Issue 1845783002: [chromecast] Pass media task runner to MediaPipelineBackendManager. (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: fix a unittest Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
}

Powered by Google App Engine
This is Rietveld 408576698