Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(202)

Side by Side Diff: chromecast/browser/cast_content_browser_client.cc

Issue 1854893002: [chromecast] Bind and run mojo media services on cma thread. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: move task runner Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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_content_browser_client.h" 5 #include "chromecast/browser/cast_content_browser_client.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 64
65 namespace chromecast { 65 namespace chromecast {
66 namespace shell { 66 namespace shell {
67 67
68 namespace { 68 namespace {
69 #if defined(ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS) 69 #if defined(ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS)
70 static scoped_ptr<mojo::ShellClient> CreateCastMojoMediaApplication( 70 static scoped_ptr<mojo::ShellClient> CreateCastMojoMediaApplication(
71 CastContentBrowserClient* browser_client) { 71 CastContentBrowserClient* browser_client) {
72 scoped_ptr<::media::MojoMediaClient> mojo_media_client( 72 scoped_ptr<::media::MojoMediaClient> mojo_media_client(
73 new media::CastMojoMediaClient( 73 new media::CastMojoMediaClient(
74 browser_client->GetMediaTaskRunner(),
74 base::Bind(&CastContentBrowserClient::CreateMediaPipelineBackend, 75 base::Bind(&CastContentBrowserClient::CreateMediaPipelineBackend,
75 base::Unretained(browser_client)))); 76 base::Unretained(browser_client))));
76 return scoped_ptr<mojo::ShellClient>( 77 return scoped_ptr<mojo::ShellClient>(
77 new ::media::MojoMediaApplication(std::move(mojo_media_client))); 78 new ::media::MojoMediaApplication(std::move(mojo_media_client)));
78 } 79 }
79 #endif // ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS 80 #endif // ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS
80 } // namespace 81 } // namespace
81 82
82 CastContentBrowserClient::CastContentBrowserClient() 83 CastContentBrowserClient::CastContentBrowserClient()
83 : cast_browser_main_parts_(nullptr), 84 : cast_browser_main_parts_(nullptr),
(...skipping 15 matching lines...) Expand all
99 100
100 scoped_ptr<CastService> CastContentBrowserClient::CreateCastService( 101 scoped_ptr<CastService> CastContentBrowserClient::CreateCastService(
101 content::BrowserContext* browser_context, 102 content::BrowserContext* browser_context,
102 PrefService* pref_service, 103 PrefService* pref_service,
103 net::URLRequestContextGetter* request_context_getter, 104 net::URLRequestContextGetter* request_context_getter,
104 media::VideoPlaneController* video_plane_controller) { 105 media::VideoPlaneController* video_plane_controller) {
105 return make_scoped_ptr(new CastServiceSimple(browser_context, pref_service)); 106 return make_scoped_ptr(new CastServiceSimple(browser_context, pref_service));
106 } 107 }
107 108
108 #if !defined(OS_ANDROID) 109 #if !defined(OS_ANDROID)
110 scoped_refptr<base::SingleThreadTaskRunner>
111 CastContentBrowserClient::GetMediaTaskRunner() {
112 DCHECK(cast_browser_main_parts_);
113 return cast_browser_main_parts_->GetMediaTaskRunner();
114 }
115
109 scoped_ptr<media::MediaPipelineBackend> 116 scoped_ptr<media::MediaPipelineBackend>
110 CastContentBrowserClient::CreateMediaPipelineBackend( 117 CastContentBrowserClient::CreateMediaPipelineBackend(
111 const media::MediaPipelineDeviceParams& params) { 118 const media::MediaPipelineDeviceParams& params) {
112 return make_scoped_ptr( 119 return make_scoped_ptr(
113 media::MediaPipelineBackendManager::CreateMediaPipelineBackend(params)); 120 media::MediaPipelineBackendManager::CreateMediaPipelineBackend(params));
114 } 121 }
115 122
116 media::MediaResourceTracker* 123 media::MediaResourceTracker*
117 CastContentBrowserClient::media_resource_tracker() { 124 CastContentBrowserClient::media_resource_tracker() {
118 return cast_browser_main_parts_->media_resource_tracker(); 125 return cast_browser_main_parts_->media_resource_tracker();
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 // getting HostResolver. 163 // getting HostResolver.
157 content::BrowserThread::PostTaskAndReplyWithResult( 164 content::BrowserThread::PostTaskAndReplyWithResult(
158 content::BrowserThread::IO, FROM_HERE, 165 content::BrowserThread::IO, FROM_HERE,
159 base::Bind(&net::URLRequestContextGetter::GetURLRequestContext, 166 base::Bind(&net::URLRequestContextGetter::GetURLRequestContext,
160 base::Unretained( 167 base::Unretained(
161 url_request_context_factory_->GetSystemGetter())), 168 url_request_context_factory_->GetSystemGetter())),
162 base::Bind(&CastContentBrowserClient::AddNetworkHintsMessageFilter, 169 base::Bind(&CastContentBrowserClient::AddNetworkHintsMessageFilter,
163 base::Unretained(this), host->GetID())); 170 base::Unretained(this), host->GetID()));
164 } 171 }
165 172
166 scoped_refptr<base::SingleThreadTaskRunner>
167 CastContentBrowserClient::GetMediaTaskRunner() {
168 DCHECK(cast_browser_main_parts_);
169 return cast_browser_main_parts_->GetMediaTaskRunner();
170 }
171
172 void CastContentBrowserClient::AddNetworkHintsMessageFilter( 173 void CastContentBrowserClient::AddNetworkHintsMessageFilter(
173 int render_process_id, net::URLRequestContext* context) { 174 int render_process_id, net::URLRequestContext* context) {
174 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 175 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
175 176
176 content::RenderProcessHost* host = 177 content::RenderProcessHost* host =
177 content::RenderProcessHost::FromID(render_process_id); 178 content::RenderProcessHost::FromID(render_process_id);
178 if (!host) 179 if (!host)
179 return; 180 return;
180 181
181 scoped_refptr<content::BrowserMessageFilter> network_hints_message_filter( 182 scoped_refptr<content::BrowserMessageFilter> network_hints_message_filter(
(...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 process_type, dumps_path, false /* upload */); 492 process_type, dumps_path, false /* upload */);
492 // StartUploaderThread() even though upload is diferred. 493 // StartUploaderThread() even though upload is diferred.
493 // Breakpad-related memory is freed in the uploader thread. 494 // Breakpad-related memory is freed in the uploader thread.
494 crash_handler->StartUploaderThread(); 495 crash_handler->StartUploaderThread();
495 return crash_handler; 496 return crash_handler;
496 } 497 }
497 #endif // !defined(OS_ANDROID) 498 #endif // !defined(OS_ANDROID)
498 499
499 } // namespace shell 500 } // namespace shell
500 } // namespace chromecast 501 } // namespace chromecast
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698