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

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

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

Powered by Google App Engine
This is Rietveld 408576698