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

Side by Side 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, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chromecast/browser/cast_browser_main_parts.h" 5 #include "chromecast/browser/cast_browser_main_parts.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <string.h> 8 #include <string.h>
9 9
10 #include <string> 10 #include <string>
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after
266 #if !defined(OS_ANDROID) 266 #if !defined(OS_ANDROID)
267 media::MediaResourceTracker* CastBrowserMainParts::media_resource_tracker() { 267 media::MediaResourceTracker* CastBrowserMainParts::media_resource_tracker() {
268 if (!media_resource_tracker_) { 268 if (!media_resource_tracker_) {
269 media_resource_tracker_ = new media::MediaResourceTracker( 269 media_resource_tracker_ = new media::MediaResourceTracker(
270 base::ThreadTaskRunnerHandle::Get(), GetMediaTaskRunner()); 270 base::ThreadTaskRunnerHandle::Get(), GetMediaTaskRunner());
271 } 271 }
272 return media_resource_tracker_; 272 return media_resource_tracker_;
273 } 273 }
274 #endif 274 #endif
275 275
276 media::MediaPipelineBackendManager*
277 CastBrowserMainParts::media_pipeline_backend_manager() {
278 if (!media_pipeline_backend_manager_) {
279 media_pipeline_backend_manager_.reset(
280 new media::MediaPipelineBackendManager(GetMediaTaskRunner()));
281 }
282 return media_pipeline_backend_manager_.get();
283 }
284
276 void CastBrowserMainParts::PreMainMessageLoopStart() { 285 void CastBrowserMainParts::PreMainMessageLoopStart() {
277 // GroupedHistograms needs to be initialized before any threads are created 286 // GroupedHistograms needs to be initialized before any threads are created
278 // to prevent race conditions between calls to Preregister and those threads 287 // to prevent race conditions between calls to Preregister and those threads
279 // attempting to collect metrics. 288 // attempting to collect metrics.
280 // This call must also be before NetworkChangeNotifier, as it generates 289 // This call must also be before NetworkChangeNotifier, as it generates
281 // Net/DNS metrics. 290 // Net/DNS metrics.
282 metrics::PreregisterAllGroupedHistograms(); 291 metrics::PreregisterAllGroupedHistograms();
283 292
284 #if defined(OS_ANDROID) 293 #if defined(OS_ANDROID)
285 net::NetworkChangeNotifier::SetFactory( 294 net::NetworkChangeNotifier::SetFactory(
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 base::FilePath home_dir; 339 base::FilePath home_dir;
331 CHECK(PathService::Get(DIR_CAST_HOME, &home_dir)); 340 CHECK(PathService::Get(DIR_CAST_HOME, &home_dir));
332 if (!base::CreateDirectory(home_dir)) 341 if (!base::CreateDirectory(home_dir))
333 return 1; 342 return 1;
334 343
335 // Hook for internal code 344 // Hook for internal code
336 cast_browser_process_->browser_client()->PreCreateThreads(); 345 cast_browser_process_->browser_client()->PreCreateThreads();
337 346
338 // AudioManager is created immediately after threads are created, requiring 347 // AudioManager is created immediately after threads are created, requiring
339 // AudioManagerFactory to be set beforehand. 348 // AudioManagerFactory to be set beforehand.
340 ::media::AudioManager::SetFactory(new media::CastAudioManagerFactory()); 349 ::media::AudioManager::SetFactory(
350 new media::CastAudioManagerFactory(media_pipeline_backend_manager()));
341 351
342 // Set GL strings so GPU config code can make correct feature blacklisting/ 352 // Set GL strings so GPU config code can make correct feature blacklisting/
343 // whitelisting decisions. 353 // whitelisting decisions.
344 // Note: SetGLStrings can be called before GpuDataManager::Initialize. 354 // Note: SetGLStrings can be called before GpuDataManager::Initialize.
345 scoped_ptr<CastSysInfo> sys_info = CreateSysInfo(); 355 scoped_ptr<CastSysInfo> sys_info = CreateSysInfo();
346 content::GpuDataManager::GetInstance()->SetGLStrings( 356 content::GpuDataManager::GetInstance()->SetGLStrings(
347 sys_info->GetGlVendor(), sys_info->GetGlRenderer(), 357 sys_info->GetGlVendor(), sys_info->GetGlRenderer(),
348 sys_info->GetGlVersion()); 358 sys_info->GetGlVersion());
349 #endif 359 #endif
350 360
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
409 ui::OverlayManagerCast::SetOverlayCompositedCallback( 419 ui::OverlayManagerCast::SetOverlayCompositedCallback(
410 base::Bind(&media::VideoPlaneController::SetGeometry, 420 base::Bind(&media::VideoPlaneController::SetGeometry,
411 base::Unretained(video_plane_controller_.get()))); 421 base::Unretained(video_plane_controller_.get())));
412 #endif 422 #endif
413 423
414 cast_browser_process_->SetCastService( 424 cast_browser_process_->SetCastService(
415 cast_browser_process_->browser_client()->CreateCastService( 425 cast_browser_process_->browser_client()->CreateCastService(
416 cast_browser_process_->browser_context(), 426 cast_browser_process_->browser_context(),
417 cast_browser_process_->pref_service(), 427 cast_browser_process_->pref_service(),
418 url_request_context_factory_->GetSystemGetter(), 428 url_request_context_factory_->GetSystemGetter(),
419 video_plane_controller_.get())); 429 video_plane_controller_.get(), media_pipeline_backend_manager()));
420 cast_browser_process_->cast_service()->Initialize(); 430 cast_browser_process_->cast_service()->Initialize();
421 431
422 #if !defined(OS_ANDROID) 432 #if !defined(OS_ANDROID)
423 media_resource_tracker()->InitializeMediaLib(); 433 media_resource_tracker()->InitializeMediaLib();
424 #endif 434 #endif
425 ::media::InitializeMediaLibrary(); 435 ::media::InitializeMediaLibrary();
426 436
427 // Initializing metrics service and network delegates must happen after cast 437 // Initializing metrics service and network delegates must happen after cast
428 // service is intialized because CastMetricsServiceClient and 438 // service is intialized because CastMetricsServiceClient and
429 // CastNetworkDelegate may use components initialized by cast service. 439 // CastNetworkDelegate may use components initialized by cast service.
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
478 #endif 488 #endif
479 489
480 DeregisterKillOnAlarm(); 490 DeregisterKillOnAlarm();
481 #endif 491 #endif
482 } 492 }
483 493
484 void CastBrowserMainParts::PostDestroyThreads() { 494 void CastBrowserMainParts::PostDestroyThreads() {
485 #if !defined(OS_ANDROID) 495 #if !defined(OS_ANDROID)
486 media_resource_tracker_->FinalizeAndDestroy(); 496 media_resource_tracker_->FinalizeAndDestroy();
487 media_resource_tracker_ = nullptr; 497 media_resource_tracker_ = nullptr;
498 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.
488 #endif 499 #endif
489 } 500 }
490 501
491 } // namespace shell 502 } // namespace shell
492 } // namespace chromecast 503 } // namespace chromecast
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698