summaryrefslogtreecommitdiffstats
path: root/chromecast/browser/cast_content_browser_client.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromecast/browser/cast_content_browser_client.cc')
-rw-r--r--chromecast/browser/cast_content_browser_client.cc17
1 files changed, 12 insertions, 5 deletions
diff --git a/chromecast/browser/cast_content_browser_client.cc b/chromecast/browser/cast_content_browser_client.cc
index 8827e85..66e08f5 100644
--- a/chromecast/browser/cast_content_browser_client.cc
+++ b/chromecast/browser/cast_content_browser_client.cc
@@ -117,8 +117,8 @@ CastContentBrowserClient::GetCmaMediaPipelineClient() {
void CastContentBrowserClient::ProcessExiting() {
// Finalize CastMediaShlib on media thread to ensure it's not accessed
// after Finalize.
- media::MediaMessageLoop::GetTaskRunner()->PostTask(
- FROM_HERE, base::Bind(&media::CastMediaShlib::Finalize));
+ GetMediaTaskRunner()->PostTask(FROM_HERE,
+ base::Bind(&media::CastMediaShlib::Finalize));
}
void CastContentBrowserClient::SetMetricsClientId(
@@ -145,8 +145,8 @@ void CastContentBrowserClient::RenderProcessWillLaunch(
content::RenderProcessHost* host) {
#if !defined(OS_ANDROID)
scoped_refptr<media::CmaMessageFilterHost> cma_message_filter(
- new media::CmaMessageFilterHost(host->GetID(),
- GetCmaMediaPipelineClient()));
+ new media::CmaMessageFilterHost(
+ host->GetID(), GetCmaMediaPipelineClient(), GetMediaTaskRunner()));
host->AddFilter(cma_message_filter.get());
#endif // !defined(OS_ANDROID)
@@ -161,6 +161,12 @@ void CastContentBrowserClient::RenderProcessWillLaunch(
base::Unretained(this), host->GetID()));
}
+scoped_refptr<base::SingleThreadTaskRunner>
+CastContentBrowserClient::GetMediaTaskRunner() {
+ // TODO(alokp): Obtain task runner from a local thread or mojo media app.
+ return media::MediaMessageLoop::GetTaskRunner();
+}
+
#if !defined(OS_ANDROID)
scoped_refptr<media::CmaMediaPipelineClient>
CastContentBrowserClient::CreateCmaMediaPipelineClient() {
@@ -422,7 +428,8 @@ void CastContentBrowserClient::GetAdditionalMappedFilesForChildProcess(
scoped_ptr<::media::CdmFactory> CastContentBrowserClient::CreateCdmFactory() {
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kEnableCmaMediaPipeline)) {
- return make_scoped_ptr(new media::CastBrowserCdmFactory());
+ return make_scoped_ptr(
+ new media::CastBrowserCdmFactory(GetMediaTaskRunner()));
}
return nullptr;