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

Side by Side Diff: media/mojo/services/service_factory_impl.cc

Issue 1466633002: media: Add ProvisionFetcher mojo interface and implementation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix std::move use Created 5 years 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 | « media/mojo/services/mojo_provision_fetcher.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "media/mojo/services/service_factory_impl.h" 5 #include "media/mojo/services/service_factory_impl.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "media/base/cdm_factory.h" 8 #include "media/base/cdm_factory.h"
9 #include "media/base/media_log.h" 9 #include "media/base/media_log.h"
10 #include "media/base/renderer_factory.h" 10 #include "media/base/renderer_factory.h"
11 #include "media/mojo/services/mojo_cdm_service.h" 11 #include "media/mojo/services/mojo_cdm_service.h"
12 #include "media/mojo/services/mojo_media_client.h" 12 #include "media/mojo/services/mojo_media_client.h"
13 #include "media/mojo/services/mojo_renderer_service.h" 13 #include "media/mojo/services/mojo_renderer_service.h"
14 #include "mojo/application/public/cpp/app_lifetime_helper.h" 14 #include "mojo/application/public/cpp/app_lifetime_helper.h"
15 #include "mojo/application/public/interfaces/service_provider.mojom.h"
15 16
16 namespace media { 17 namespace media {
17 18
18 ServiceFactoryImpl::ServiceFactoryImpl( 19 ServiceFactoryImpl::ServiceFactoryImpl(
19 mojo::InterfaceRequest<interfaces::ServiceFactory> request, 20 mojo::InterfaceRequest<interfaces::ServiceFactory> request,
20 mojo::ServiceProvider* service_provider, 21 mojo::ServiceProvider* service_provider,
21 scoped_refptr<MediaLog> media_log, 22 scoped_refptr<MediaLog> media_log,
22 scoped_ptr<mojo::AppRefCount> parent_app_refcount) 23 scoped_ptr<mojo::AppRefCount> parent_app_refcount)
23 : binding_(this, request.Pass()), 24 : binding_(this, std::move(request)),
24 service_provider_(service_provider), 25 service_provider_(service_provider),
25 media_log_(media_log), 26 media_log_(media_log),
26 parent_app_refcount_(parent_app_refcount.Pass()) { 27 parent_app_refcount_(std::move(parent_app_refcount)) {
27 DVLOG(1) << __FUNCTION__; 28 DVLOG(1) << __FUNCTION__;
28 } 29 }
29 30
30 ServiceFactoryImpl::~ServiceFactoryImpl() { 31 ServiceFactoryImpl::~ServiceFactoryImpl() {
31 DVLOG(1) << __FUNCTION__; 32 DVLOG(1) << __FUNCTION__;
32 } 33 }
33 34
34 // interfaces::ServiceFactory implementation. 35 // interfaces::ServiceFactory implementation.
35 void ServiceFactoryImpl::CreateRenderer( 36 void ServiceFactoryImpl::CreateRenderer(
36 mojo::InterfaceRequest<interfaces::Renderer> request) { 37 mojo::InterfaceRequest<interfaces::Renderer> request) {
37 // The created object is owned by the pipe. 38 // The created object is owned by the pipe.
38 new MojoRendererService(cdm_service_context_.GetWeakPtr(), 39 new MojoRendererService(cdm_service_context_.GetWeakPtr(),
39 GetRendererFactory(), media_log_, request.Pass()); 40 GetRendererFactory(), media_log_, std::move(request));
40 } 41 }
41 42
42 void ServiceFactoryImpl::CreateCdm( 43 void ServiceFactoryImpl::CreateCdm(
43 mojo::InterfaceRequest<interfaces::ContentDecryptionModule> request) { 44 mojo::InterfaceRequest<interfaces::ContentDecryptionModule> request) {
44 // The created object is owned by the pipe. 45 // The created object is owned by the pipe.
45 new MojoCdmService(cdm_service_context_.GetWeakPtr(), service_provider_, 46 new MojoCdmService(cdm_service_context_.GetWeakPtr(), service_provider_,
46 GetCdmFactory(), request.Pass()); 47 GetCdmFactory(), std::move(request));
47 } 48 }
48 49
49 RendererFactory* ServiceFactoryImpl::GetRendererFactory() { 50 RendererFactory* ServiceFactoryImpl::GetRendererFactory() {
50 if (!renderer_factory_) 51 if (!renderer_factory_)
51 renderer_factory_ = 52 renderer_factory_ =
52 MojoMediaClient::Get()->CreateRendererFactory(media_log_); 53 MojoMediaClient::Get()->CreateRendererFactory(media_log_);
53 return renderer_factory_.get(); 54 return renderer_factory_.get();
54 } 55 }
55 56
56 CdmFactory* ServiceFactoryImpl::GetCdmFactory() { 57 CdmFactory* ServiceFactoryImpl::GetCdmFactory() {
57 if (!cdm_factory_) 58 if (!cdm_factory_)
58 cdm_factory_ = MojoMediaClient::Get()->CreateCdmFactory(); 59 cdm_factory_ = MojoMediaClient::Get()->CreateCdmFactory(service_provider_);
59 return cdm_factory_.get(); 60 return cdm_factory_.get();
60 } 61 }
61 62
62 } // namespace media 63 } // namespace media
OLDNEW
« no previous file with comments | « media/mojo/services/mojo_provision_fetcher.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698