OLD | NEW |
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 <string> | 7 #include <string> |
8 #if !defined(OS_ANDROID) | 8 #if !defined(OS_ANDROID) |
9 #include <signal.h> | 9 #include <signal.h> |
10 #include <sys/prctl.h> | 10 #include <sys/prctl.h> |
(...skipping 15 matching lines...) Expand all Loading... |
26 #include "chromecast/browser/devtools/remote_debugging_server.h" | 26 #include "chromecast/browser/devtools/remote_debugging_server.h" |
27 #include "chromecast/browser/metrics/cast_metrics_prefs.h" | 27 #include "chromecast/browser/metrics/cast_metrics_prefs.h" |
28 #include "chromecast/browser/metrics/cast_metrics_service_client.h" | 28 #include "chromecast/browser/metrics/cast_metrics_service_client.h" |
29 #include "chromecast/browser/pref_service_helper.h" | 29 #include "chromecast/browser/pref_service_helper.h" |
30 #include "chromecast/browser/service/cast_service.h" | 30 #include "chromecast/browser/service/cast_service.h" |
31 #include "chromecast/browser/url_request_context_factory.h" | 31 #include "chromecast/browser/url_request_context_factory.h" |
32 #include "chromecast/common/chromecast_switches.h" | 32 #include "chromecast/common/chromecast_switches.h" |
33 #include "chromecast/common/platform_client_auth.h" | 33 #include "chromecast/common/platform_client_auth.h" |
34 #include "chromecast/media/base/key_systems_common.h" | 34 #include "chromecast/media/base/key_systems_common.h" |
35 #include "chromecast/net/connectivity_checker.h" | 35 #include "chromecast/net/connectivity_checker.h" |
| 36 #include "chromecast/public/cast_media_shlib.h" |
36 #include "chromecast/public/cast_sys_info.h" | 37 #include "chromecast/public/cast_sys_info.h" |
37 #include "content/public/browser/browser_thread.h" | 38 #include "content/public/browser/browser_thread.h" |
38 #include "content/public/browser/gpu_data_manager.h" | 39 #include "content/public/browser/gpu_data_manager.h" |
39 #include "content/public/common/content_switches.h" | 40 #include "content/public/common/content_switches.h" |
40 #include "media/audio/audio_manager.h" | 41 #include "media/audio/audio_manager.h" |
41 #include "media/audio/audio_manager_factory.h" | 42 #include "media/audio/audio_manager_factory.h" |
42 #include "media/base/browser_cdm_factory.h" | 43 #include "media/base/browser_cdm_factory.h" |
43 #include "media/base/media_switches.h" | 44 #include "media/base/media_switches.h" |
44 | 45 |
45 #if defined(OS_ANDROID) | 46 #if defined(OS_ANDROID) |
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
275 scoped_ptr<CastSysInfo> sys_info = CreateSysInfo(); | 276 scoped_ptr<CastSysInfo> sys_info = CreateSysInfo(); |
276 content::GpuDataManager::GetInstance()->SetGLStrings( | 277 content::GpuDataManager::GetInstance()->SetGLStrings( |
277 sys_info->GetGlVendor(), sys_info->GetGlRenderer(), | 278 sys_info->GetGlVendor(), sys_info->GetGlRenderer(), |
278 sys_info->GetGlVersion()); | 279 sys_info->GetGlVersion()); |
279 | 280 |
280 scoped_refptr<PrefRegistrySimple> pref_registry(new PrefRegistrySimple()); | 281 scoped_refptr<PrefRegistrySimple> pref_registry(new PrefRegistrySimple()); |
281 metrics::RegisterPrefs(pref_registry.get()); | 282 metrics::RegisterPrefs(pref_registry.get()); |
282 cast_browser_process_->SetPrefService( | 283 cast_browser_process_->SetPrefService( |
283 PrefServiceHelper::CreatePrefService(pref_registry.get())); | 284 PrefServiceHelper::CreatePrefService(pref_registry.get())); |
284 | 285 |
| 286 const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); |
285 #if defined(OS_ANDROID) | 287 #if defined(OS_ANDROID) |
286 ::media::SetMediaClientAndroid(new media::CastMediaClientAndroid()); | 288 ::media::SetMediaClientAndroid(new media::CastMediaClientAndroid()); |
287 #else | 289 #else |
288 const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); | |
289 if (cmd_line->HasSwitch(switches::kEnableCmaMediaPipeline)) | 290 if (cmd_line->HasSwitch(switches::kEnableCmaMediaPipeline)) |
290 ::media::SetBrowserCdmFactory(new media::CastBrowserCdmFactory()); | 291 ::media::SetBrowserCdmFactory(new media::CastBrowserCdmFactory()); |
291 #endif // defined(OS_ANDROID) | 292 #endif // defined(OS_ANDROID) |
292 | 293 |
293 cast_browser_process_->SetConnectivityChecker( | 294 cast_browser_process_->SetConnectivityChecker( |
294 make_scoped_refptr(new ConnectivityChecker( | 295 make_scoped_refptr(new ConnectivityChecker( |
295 content::BrowserThread::GetMessageLoopProxyForThread( | 296 content::BrowserThread::GetMessageLoopProxyForThread( |
296 content::BrowserThread::IO)))); | 297 content::BrowserThread::IO)))); |
297 | 298 |
298 url_request_context_factory_->InitializeOnUIThread(); | 299 url_request_context_factory_->InitializeOnUIThread(); |
299 | 300 |
300 cast_browser_process_->SetBrowserContext( | 301 cast_browser_process_->SetBrowserContext( |
301 make_scoped_ptr(new CastBrowserContext(url_request_context_factory_))); | 302 make_scoped_ptr(new CastBrowserContext(url_request_context_factory_))); |
302 cast_browser_process_->SetMetricsServiceClient( | 303 cast_browser_process_->SetMetricsServiceClient( |
303 metrics::CastMetricsServiceClient::Create( | 304 metrics::CastMetricsServiceClient::Create( |
304 content::BrowserThread::GetBlockingPool(), | 305 content::BrowserThread::GetBlockingPool(), |
305 cast_browser_process_->pref_service(), | 306 cast_browser_process_->pref_service(), |
306 cast_browser_process_->browser_context()->GetRequestContext())); | 307 cast_browser_process_->browser_context()->GetRequestContext())); |
307 | 308 |
308 if (!PlatformClientAuth::Initialize()) | 309 if (!PlatformClientAuth::Initialize()) |
309 LOG(ERROR) << "PlatformClientAuth::Initialize failed."; | 310 LOG(ERROR) << "PlatformClientAuth::Initialize failed."; |
310 | 311 |
311 cast_browser_process_->SetRemoteDebuggingServer( | 312 cast_browser_process_->SetRemoteDebuggingServer( |
312 make_scoped_ptr(new RemoteDebuggingServer())); | 313 make_scoped_ptr(new RemoteDebuggingServer())); |
313 | 314 |
| 315 media::CastMediaShlib::Initialize(cmd_line->argv()); |
| 316 |
314 cast_browser_process_->SetCastService(CastService::Create( | 317 cast_browser_process_->SetCastService(CastService::Create( |
315 cast_browser_process_->browser_context(), | 318 cast_browser_process_->browser_context(), |
316 cast_browser_process_->pref_service(), | 319 cast_browser_process_->pref_service(), |
317 cast_browser_process_->metrics_service_client(), | 320 cast_browser_process_->metrics_service_client(), |
318 url_request_context_factory_->GetSystemGetter())); | 321 url_request_context_factory_->GetSystemGetter())); |
319 cast_browser_process_->cast_service()->Initialize(); | 322 cast_browser_process_->cast_service()->Initialize(); |
320 | 323 |
321 // Initializing metrics service and network delegates must happen after cast | 324 // Initializing metrics service and network delegates must happen after cast |
322 // service is intialized because CastMetricsServiceClient and | 325 // service is intialized because CastMetricsServiceClient and |
323 // CastNetworkDelegate may use components initialized by cast service. | 326 // CastNetworkDelegate may use components initialized by cast service. |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
361 void CastBrowserMainParts::PostMainMessageLoopRun() { | 364 void CastBrowserMainParts::PostMainMessageLoopRun() { |
362 #if defined(OS_ANDROID) | 365 #if defined(OS_ANDROID) |
363 // Android does not use native main MessageLoop. | 366 // Android does not use native main MessageLoop. |
364 NOTREACHED(); | 367 NOTREACHED(); |
365 #else | 368 #else |
366 cast_browser_process_->cast_service()->Finalize(); | 369 cast_browser_process_->cast_service()->Finalize(); |
367 cast_browser_process_->metrics_service_client()->Finalize(); | 370 cast_browser_process_->metrics_service_client()->Finalize(); |
368 cast_browser_process_.reset(); | 371 cast_browser_process_.reset(); |
369 DeregisterKillOnAlarm(); | 372 DeregisterKillOnAlarm(); |
370 #endif | 373 #endif |
| 374 |
| 375 media::CastMediaShlib::Finalize(); |
371 } | 376 } |
372 | 377 |
373 } // namespace shell | 378 } // namespace shell |
374 } // namespace chromecast | 379 } // namespace chromecast |
OLD | NEW |