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

Side by Side Diff: components/html_viewer/media_factory.cc

Issue 1541943002: Delete media::Interfaces::ServiceFactory. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add service bundle Created 4 years, 12 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
« no previous file with comments | « components/html_viewer/media_factory.h ('k') | content/renderer/render_frame_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "components/html_viewer/media_factory.h" 5 #include "components/html_viewer/media_factory.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/files/file_path.h" 9 #include "base/files/file_path.h"
10 #include "base/path_service.h" 10 #include "base/path_service.h"
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 mojo::Shell* shell) { 82 mojo::Shell* shell) {
83 #if defined(OS_ANDROID) 83 #if defined(OS_ANDROID)
84 // TODO(xhwang): Get CreateMediaPlayer working on android. 84 // TODO(xhwang): Get CreateMediaPlayer working on android.
85 return nullptr; 85 return nullptr;
86 #else 86 #else
87 scoped_refptr<media::MediaLog> media_log(new media::MediaLog()); 87 scoped_refptr<media::MediaLog> media_log(new media::MediaLog());
88 scoped_ptr<media::RendererFactory> media_renderer_factory; 88 scoped_ptr<media::RendererFactory> media_renderer_factory;
89 89
90 if (enable_mojo_media_renderer_) { 90 if (enable_mojo_media_renderer_) {
91 media_renderer_factory.reset( 91 media_renderer_factory.reset(
92 new media::MojoRendererFactory(GetMediaServiceFactory())); 92 new media::MojoRendererFactory(GetMediaServiceProvider()));
93 } else { 93 } else {
94 media_renderer_factory.reset( 94 media_renderer_factory.reset(
95 new media::DefaultRendererFactory(media_log, 95 new media::DefaultRendererFactory(media_log,
96 nullptr, // No GPU factory. 96 nullptr, // No GPU factory.
97 GetAudioHardwareConfig())); 97 GetAudioHardwareConfig()));
98 } 98 }
99 99
100 media::WebMediaPlayerParams params( 100 media::WebMediaPlayerParams params(
101 media::WebMediaPlayerParams::DeferLoadCB(), CreateAudioRendererSink(), 101 media::WebMediaPlayerParams::DeferLoadCB(), CreateAudioRendererSink(),
102 media_log, GetMediaThreadTaskRunner(), GetMediaThreadTaskRunner(), 102 media_log, GetMediaThreadTaskRunner(), GetMediaThreadTaskRunner(),
(...skipping 15 matching lines...) Expand all
118 118
119 blink::WebEncryptedMediaClient* MediaFactory::GetEncryptedMediaClient() { 119 blink::WebEncryptedMediaClient* MediaFactory::GetEncryptedMediaClient() {
120 if (!web_encrypted_media_client_) { 120 if (!web_encrypted_media_client_) {
121 web_encrypted_media_client_.reset(new media::WebEncryptedMediaClientImpl( 121 web_encrypted_media_client_.reset(new media::WebEncryptedMediaClientImpl(
122 base::Bind(&AreSecureCodecsSupported), GetCdmFactory(), 122 base::Bind(&AreSecureCodecsSupported), GetCdmFactory(),
123 GetMediaPermission())); 123 GetMediaPermission()));
124 } 124 }
125 return web_encrypted_media_client_.get(); 125 return web_encrypted_media_client_.get();
126 } 126 }
127 127
128 media::interfaces::ServiceFactory* MediaFactory::GetMediaServiceFactory() { 128 mojo::ServiceProvider* MediaFactory::GetMediaServiceProvider() {
129 if (!media_service_factory_) { 129 if (!media_service_provider_) {
130 mojo::ServiceProviderPtr service_provider;
131 mojo::URLRequestPtr request(mojo::URLRequest::New()); 130 mojo::URLRequestPtr request(mojo::URLRequest::New());
132 request->url = mojo::String::From("mojo:media"); 131 request->url = mojo::String::From("mojo:media");
133 shell_->ConnectToApplication(request.Pass(), GetProxy(&service_provider), 132 shell_->ConnectToApplication(std::move(request),
134 nullptr, nullptr, 133 GetProxy(&media_service_provider_), nullptr,
135 base::Bind(&OnGotContentHandlerID)); 134 nullptr, base::Bind(&OnGotContentHandlerID));
136 mojo::ConnectToService(service_provider.get(), &media_service_factory_);
137 } 135 }
138 136 return media_service_provider_.get();
139 return media_service_factory_.get();
140 } 137 }
141 138
142 media::MediaPermission* MediaFactory::GetMediaPermission() { 139 media::MediaPermission* MediaFactory::GetMediaPermission() {
143 // TODO(xhwang): Replace DefaultMediaPermission with something real when 140 // TODO(xhwang): Replace DefaultMediaPermission with something real when
144 // permissions are supported in html_viewer. 141 // permissions are supported in html_viewer.
145 NOTIMPLEMENTED(); 142 NOTIMPLEMENTED();
146 143
147 if (!media_permission_) 144 if (!media_permission_)
148 media_permission_.reset(new media::DefaultMediaPermission(true)); 145 media_permission_.reset(new media::DefaultMediaPermission(true));
149 return media_permission_.get(); 146 return media_permission_.get();
150 } 147 }
151 148
152 media::CdmFactory* MediaFactory::GetCdmFactory() { 149 media::CdmFactory* MediaFactory::GetCdmFactory() {
153 if (!cdm_factory_) { 150 if (!cdm_factory_) {
154 if (enable_mojo_media_renderer_) 151 if (enable_mojo_media_renderer_)
155 cdm_factory_.reset(new media::MojoCdmFactory(GetMediaServiceFactory())); 152 cdm_factory_.reset(new media::MojoCdmFactory(GetMediaServiceProvider()));
156 else 153 else
157 cdm_factory_.reset(new media::DefaultCdmFactory()); 154 cdm_factory_.reset(new media::DefaultCdmFactory());
158 } 155 }
159 156
160 return cdm_factory_.get(); 157 return cdm_factory_.get();
161 } 158 }
162 159
163 #if !defined(OS_ANDROID) 160 #if !defined(OS_ANDROID)
164 const media::AudioHardwareConfig& MediaFactory::GetAudioHardwareConfig() { 161 const media::AudioHardwareConfig& MediaFactory::GetAudioHardwareConfig() {
165 return audio_hardware_config_; 162 return audio_hardware_config_;
166 } 163 }
167 164
168 scoped_refptr<media::RestartableAudioRendererSink> 165 scoped_refptr<media::RestartableAudioRendererSink>
169 MediaFactory::CreateAudioRendererSink() { 166 MediaFactory::CreateAudioRendererSink() {
170 // TODO(dalecurtis): Replace this with an interface to an actual mojo service; 167 // TODO(dalecurtis): Replace this with an interface to an actual mojo service;
171 // the AudioOutputStreamSink will not work in sandboxed processes. 168 // the AudioOutputStreamSink will not work in sandboxed processes.
172 return new media::AudioOutputStreamSink(); 169 return new media::AudioOutputStreamSink();
173 } 170 }
174 171
175 scoped_refptr<base::SingleThreadTaskRunner> 172 scoped_refptr<base::SingleThreadTaskRunner>
176 MediaFactory::GetMediaThreadTaskRunner() { 173 MediaFactory::GetMediaThreadTaskRunner() {
177 if (!media_thread_.IsRunning()) 174 if (!media_thread_.IsRunning())
178 media_thread_.Start(); 175 media_thread_.Start();
179 176
180 return media_thread_.task_runner(); 177 return media_thread_.task_runner();
181 } 178 }
182 #endif // !defined(OS_ANDROID) 179 #endif // !defined(OS_ANDROID)
183 180
184 } // namespace html_viewer 181 } // namespace html_viewer
OLDNEW
« no previous file with comments | « components/html_viewer/media_factory.h ('k') | content/renderer/render_frame_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698