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

Side by Side Diff: media/mojo/services/gpu_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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/gpu_mojo_media_client.h" 5 #include "media/mojo/services/gpu_mojo_media_client.h"
6 6
7 #include "media/base/audio_decoder.h" 7 #include "media/base/audio_decoder.h"
8 #include "media/base/cdm_factory.h" 8 #include "media/base/cdm_factory.h"
9 #include "media/base/video_decoder.h" 9 #include "media/base/video_decoder.h"
10 10
11 #if defined(OS_ANDROID) 11 #if defined(OS_ANDROID)
12 #include "base/memory/ptr_util.h" 12 #include "base/memory/ptr_util.h"
13 #include "media/base/android/android_cdm_factory.h" 13 #include "media/base/android/android_cdm_factory.h"
14 #include "media/filters/android/media_codec_audio_decoder.h" 14 #include "media/filters/android/media_codec_audio_decoder.h"
15 #include "media/mojo/interfaces/media_drm_storage.mojom.h"
15 #include "media/mojo/interfaces/provision_fetcher.mojom.h" 16 #include "media/mojo/interfaces/provision_fetcher.mojom.h"
17 #include "media/mojo/services/mojo_media_drm_storage.h"
16 #include "media/mojo/services/mojo_provision_fetcher.h" 18 #include "media/mojo/services/mojo_provision_fetcher.h"
17 #include "services/service_manager/public/cpp/connect.h" 19 #include "services/service_manager/public/cpp/connect.h"
18 #endif // defined(OS_ANDROID) 20 #endif // defined(OS_ANDROID)
19 21
20 namespace media { 22 namespace media {
21 23
22 namespace { 24 namespace {
23 25
26 // TODO(xhwang): Remove the duplicate code between GpuMojoMediaClient and
27 // AndroidMojoMediaClient.
28
24 #if defined(OS_ANDROID) 29 #if defined(OS_ANDROID)
25 std::unique_ptr<ProvisionFetcher> CreateProvisionFetcher( 30 std::unique_ptr<ProvisionFetcher> CreateProvisionFetcher(
26 service_manager::mojom::InterfaceProvider* interface_provider) { 31 service_manager::mojom::InterfaceProvider* interface_provider) {
27 mojom::ProvisionFetcherPtr provision_fetcher_ptr; 32 mojom::ProvisionFetcherPtr provision_fetcher_ptr;
28 service_manager::GetInterface(interface_provider, &provision_fetcher_ptr); 33 service_manager::GetInterface(interface_provider, &provision_fetcher_ptr);
29 return base::MakeUnique<MojoProvisionFetcher>( 34 return base::MakeUnique<MojoProvisionFetcher>(
30 std::move(provision_fetcher_ptr)); 35 std::move(provision_fetcher_ptr));
31 } 36 }
37
38 std::unique_ptr<MediaDrmStorage> CreateMediaDrmStorage(
39 service_manager::mojom::InterfaceProvider* host_interfaces) {
40 DCHECK(host_interfaces);
41 mojom::MediaDrmStoragePtr media_drm_storage_ptr;
42 service_manager::GetInterface(host_interfaces, &media_drm_storage_ptr);
43 return base::MakeUnique<MojoMediaDrmStorage>(
44 std::move(media_drm_storage_ptr));
dcheng 2017/03/29 01:17:23 #include <utility>
xhwang 2017/03/29 20:47:25 Done.
45 }
32 #endif // defined(OS_ANDROID) 46 #endif // defined(OS_ANDROID)
33 47
34 } // namespace 48 } // namespace
35 49
36 GpuMojoMediaClient::GpuMojoMediaClient( 50 GpuMojoMediaClient::GpuMojoMediaClient(
37 scoped_refptr<base::SingleThreadTaskRunner> gpu_task_runner, 51 scoped_refptr<base::SingleThreadTaskRunner> gpu_task_runner,
38 base::WeakPtr<MediaGpuChannelManager> media_gpu_channel_manager) 52 base::WeakPtr<MediaGpuChannelManager> media_gpu_channel_manager)
39 : gpu_task_runner_(std::move(gpu_task_runner)), 53 : gpu_task_runner_(std::move(gpu_task_runner)),
40 media_gpu_channel_manager_(std::move(media_gpu_channel_manager)) {} 54 media_gpu_channel_manager_(std::move(media_gpu_channel_manager)) {}
41 55
(...skipping 14 matching lines...) Expand all
56 static_cast<void>(media_gpu_channel_manager_); 70 static_cast<void>(media_gpu_channel_manager_);
57 71
58 // TODO(sandersd): Factory for VideoDecoders. 72 // TODO(sandersd): Factory for VideoDecoders.
59 return nullptr; 73 return nullptr;
60 } 74 }
61 75
62 std::unique_ptr<CdmFactory> GpuMojoMediaClient::CreateCdmFactory( 76 std::unique_ptr<CdmFactory> GpuMojoMediaClient::CreateCdmFactory(
63 service_manager::mojom::InterfaceProvider* interface_provider) { 77 service_manager::mojom::InterfaceProvider* interface_provider) {
64 #if defined(OS_ANDROID) 78 #if defined(OS_ANDROID)
65 return base::MakeUnique<AndroidCdmFactory>( 79 return base::MakeUnique<AndroidCdmFactory>(
66 base::Bind(&CreateProvisionFetcher, interface_provider)); 80 base::Bind(&CreateProvisionFetcher, interface_provider),
81 base::Bind(&CreateMediaDrmStorage, interface_provider));
67 #else 82 #else
68 return nullptr; 83 return nullptr;
69 #endif // defined(OS_ANDROID) 84 #endif // defined(OS_ANDROID)
70 } 85 }
71 86
72 } // namespace media 87 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698