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

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

Issue 2765343003: media: Add MediaDrmStorage (Closed)
Patch Set: fix compile error Created 3 years, 9 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 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/android_mojo_media_client.h" 5 #include "media/mojo/services/android_mojo_media_client.h"
6 6
7 #include "base/memory/ptr_util.h" 7 #include "base/memory/ptr_util.h"
8 #include "media/base/android/android_cdm_factory.h" 8 #include "media/base/android/android_cdm_factory.h"
9 #include "media/base/audio_decoder.h" 9 #include "media/base/audio_decoder.h"
10 #include "media/base/cdm_factory.h" 10 #include "media/base/cdm_factory.h"
11 #include "media/filters/android/media_codec_audio_decoder.h" 11 #include "media/filters/android/media_codec_audio_decoder.h"
12 #include "media/mojo/interfaces/media_drm_storage.mojom.h"
12 #include "media/mojo/interfaces/provision_fetcher.mojom.h" 13 #include "media/mojo/interfaces/provision_fetcher.mojom.h"
14 #include "media/mojo/services/mojo_media_drm_storage.h"
13 #include "media/mojo/services/mojo_provision_fetcher.h" 15 #include "media/mojo/services/mojo_provision_fetcher.h"
14 #include "services/service_manager/public/cpp/connect.h" 16 #include "services/service_manager/public/cpp/connect.h"
15 17
16 namespace media { 18 namespace media {
17 19
18 namespace { 20 namespace {
19 21
20 std::unique_ptr<ProvisionFetcher> CreateProvisionFetcher( 22 std::unique_ptr<ProvisionFetcher> CreateProvisionFetcher(
21 service_manager::mojom::InterfaceProvider* host_interfaces) { 23 service_manager::mojom::InterfaceProvider* host_interfaces) {
22 DCHECK(host_interfaces); 24 DCHECK(host_interfaces);
23 mojom::ProvisionFetcherPtr provision_fetcher_ptr; 25 mojom::ProvisionFetcherPtr provision_fetcher_ptr;
24 service_manager::GetInterface(host_interfaces, &provision_fetcher_ptr); 26 service_manager::GetInterface(host_interfaces, &provision_fetcher_ptr);
25 return base::MakeUnique<MojoProvisionFetcher>( 27 return base::MakeUnique<MojoProvisionFetcher>(
26 std::move(provision_fetcher_ptr)); 28 std::move(provision_fetcher_ptr));
27 } 29 }
28 30
31 std::unique_ptr<MediaDrmStorage> CreateMediaDrmStorage(
32 service_manager::mojom::InterfaceProvider* host_interfaces) {
33 DCHECK(host_interfaces);
34 mojom::MediaDrmStoragePtr media_drm_storage_ptr;
35 service_manager::GetInterface(host_interfaces, &media_drm_storage_ptr);
36 return base::MakeUnique<MojoMediaDrmStorage>(
37 std::move(media_drm_storage_ptr));
dcheng 2017/03/29 01:17:23 #include <utility>
xhwang 2017/03/29 20:47:25 Done.
38 }
39
29 } // namespace 40 } // namespace
30 41
31 AndroidMojoMediaClient::AndroidMojoMediaClient() {} 42 AndroidMojoMediaClient::AndroidMojoMediaClient() {}
32 43
33 AndroidMojoMediaClient::~AndroidMojoMediaClient() {} 44 AndroidMojoMediaClient::~AndroidMojoMediaClient() {}
34 45
35 // MojoMediaClient overrides. 46 // MojoMediaClient overrides.
36 47
37 std::unique_ptr<AudioDecoder> AndroidMojoMediaClient::CreateAudioDecoder( 48 std::unique_ptr<AudioDecoder> AndroidMojoMediaClient::CreateAudioDecoder(
38 scoped_refptr<base::SingleThreadTaskRunner> task_runner) { 49 scoped_refptr<base::SingleThreadTaskRunner> task_runner) {
39 return base::MakeUnique<MediaCodecAudioDecoder>(task_runner); 50 return base::MakeUnique<MediaCodecAudioDecoder>(task_runner);
40 } 51 }
41 52
42 std::unique_ptr<CdmFactory> AndroidMojoMediaClient::CreateCdmFactory( 53 std::unique_ptr<CdmFactory> AndroidMojoMediaClient::CreateCdmFactory(
43 service_manager::mojom::InterfaceProvider* host_interfaces) { 54 service_manager::mojom::InterfaceProvider* host_interfaces) {
44 if (!host_interfaces) { 55 if (!host_interfaces) {
45 NOTREACHED() << "Host interfaces should be provided when using CDM with " 56 NOTREACHED() << "Host interfaces should be provided when using CDM with "
46 << "AndroidMojoMediaClient"; 57 << "AndroidMojoMediaClient";
47 return nullptr; 58 return nullptr;
48 } 59 }
60
49 return base::MakeUnique<AndroidCdmFactory>( 61 return base::MakeUnique<AndroidCdmFactory>(
50 base::Bind(&CreateProvisionFetcher, host_interfaces)); 62 base::Bind(&CreateProvisionFetcher, host_interfaces),
63 base::Bind(&CreateMediaDrmStorage, host_interfaces));
51 } 64 }
52 65
53 } // namespace media 66 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698