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 046e3ba40757bcaddb9f3902864cd358a2af9f67..280adbfe78185658470cc25c5551fed1e6659da1 100644 |
| --- a/chromecast/browser/cast_browser_main_parts.cc |
| +++ b/chromecast/browser/cast_browser_main_parts.cc |
| @@ -34,6 +34,7 @@ |
| #include "chromecast/browser/url_request_context_factory.h" |
| #include "chromecast/common/platform_client_auth.h" |
| #include "chromecast/media/base/key_systems_common.h" |
| +#include "chromecast/media/base/media_message_loop.h" |
| #include "chromecast/net/connectivity_checker.h" |
| #include "chromecast/public/cast_media_shlib.h" |
| #include "chromecast/public/cast_sys_info.h" |
| @@ -324,7 +325,9 @@ void CastBrowserMainParts::PreMainMessageLoopRun() { |
| cast_browser_process_->SetRemoteDebuggingServer( |
| make_scoped_ptr(new RemoteDebuggingServer())); |
| - media::CastMediaShlib::Initialize(cmd_line->argv()); |
| + chromecast::media::MediaMessageLoop::GetTaskRunner()->PostTask( |
|
gunsch
2015/07/08 17:20:30
nit: don't need "chromecast" namespace (here and b
halliwell
2015/07/08 17:25:10
Done.
|
| + FROM_HERE, |
| + base::Bind(&media::CastMediaShlib::Initialize, cmd_line->argv())); |
| ::media::InitializeMediaLibrary(); |
| cast_browser_process_->SetCastService(CastService::Create( |
| @@ -390,7 +393,10 @@ void CastBrowserMainParts::PostMainMessageLoopRun() { |
| DeregisterKillOnAlarm(); |
| #endif |
| - media::CastMediaShlib::Finalize(); |
| + // Finalize CastMediaShlib on media thread to ensure it's not accessed |
| + // after Finalize. |
| + chromecast::media::MediaMessageLoop::GetTaskRunner()->PostTask( |
| + FROM_HERE, base::Bind(&media::CastMediaShlib::Finalize)); |
| } |
| } // namespace shell |