| 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 14fac696276e2735b1b030f54a0f130cc1272c5c..027d6224c9c1d7df5c12757c7b1f958e517cce5c 100644
|
| --- a/chromecast/browser/cast_browser_main_parts.cc
|
| +++ b/chromecast/browser/cast_browser_main_parts.cc
|
| @@ -213,13 +213,11 @@ void AddDefaultCommandLineSwitches(base::CommandLine* command_line) {
|
|
|
| CastBrowserMainParts::CastBrowserMainParts(
|
| const content::MainFunctionParams& parameters,
|
| - URLRequestContextFactory* url_request_context_factory,
|
| - scoped_ptr<::media::AudioManagerFactory> audio_manager_factory)
|
| + URLRequestContextFactory* url_request_context_factory)
|
| : BrowserMainParts(),
|
| cast_browser_process_(new CastBrowserProcess()),
|
| parameters_(parameters),
|
| url_request_context_factory_(url_request_context_factory),
|
| - audio_manager_factory_(audio_manager_factory.Pass()),
|
| net_log_(new CastNetLog()) {
|
| base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
|
| AddDefaultCommandLineSwitches(command_line);
|
| @@ -236,10 +234,6 @@ void CastBrowserMainParts::PreMainMessageLoopStart() {
|
| // Net/DNS metrics.
|
| metrics::PreregisterAllGroupedHistograms();
|
|
|
| - // Set the platform's implementation of AudioManagerFactory.
|
| - if (audio_manager_factory_)
|
| - ::media::AudioManager::SetFactory(audio_manager_factory_.release());
|
| -
|
| #if defined(OS_ANDROID)
|
| net::NetworkChangeNotifier::SetFactory(
|
| new net::NetworkChangeNotifierFactoryAndroid());
|
| @@ -273,6 +267,12 @@ int CastBrowserMainParts::PreCreateThreads() {
|
| CHECK(PathService::Get(DIR_CAST_HOME, &home_dir));
|
| if (!base::CreateDirectory(home_dir))
|
| return 1;
|
| +
|
| + // AudioManager is created immediately after threads are created, requiring
|
| + // AudioManagerFactory to be set beforehand.
|
| + scoped_ptr< ::media::AudioManagerFactory> audio_manager_factory =
|
| + cast_browser_process_->browser_client()->CreateAudioManagerFactory();
|
| + ::media::AudioManager::SetFactory(audio_manager_factory.release());
|
| #endif
|
|
|
| #if defined(USE_AURA)
|
|
|