| 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..917b89d7d2355969d6c04bb52a951b07415eeaed 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"
|
| @@ -390,7 +391,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
|
|
|