OLD | NEW |
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 "media/mojo/services/mojo_media_client.h" | 5 #include "media/mojo/services/mojo_media_client.h" |
6 | 6 |
7 namespace media { | 7 namespace media { |
8 | 8 |
9 // PlatformMojoMediaClient default implementations. | 9 // PlatformMojoMediaClient default implementations. |
10 | 10 |
11 PlatformMojoMediaClient::~PlatformMojoMediaClient(){}; | 11 PlatformMojoMediaClient::~PlatformMojoMediaClient(){}; |
12 | 12 |
13 scoped_ptr<RendererFactory> PlatformMojoMediaClient::CreateRendererFactory( | 13 scoped_ptr<RendererFactory> PlatformMojoMediaClient::CreateRendererFactory( |
14 const scoped_refptr<MediaLog>& media_log) { | 14 const scoped_refptr<MediaLog>& media_log) { |
15 return nullptr; | 15 return nullptr; |
16 }; | 16 }; |
17 | 17 |
18 ScopedVector<AudioDecoder> PlatformMojoMediaClient::CreateAudioDecoders( | |
19 const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner, | |
20 const scoped_refptr<MediaLog>& media_log) { | |
21 return ScopedVector<AudioDecoder>(); | |
22 }; | |
23 | |
24 ScopedVector<VideoDecoder> PlatformMojoMediaClient::CreateVideoDecoders( | |
25 const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner, | |
26 const scoped_refptr<MediaLog>& media_log) { | |
27 return ScopedVector<VideoDecoder>(); | |
28 } | |
29 | |
30 scoped_refptr<AudioRendererSink> | 18 scoped_refptr<AudioRendererSink> |
31 PlatformMojoMediaClient::CreateAudioRendererSink() { | 19 PlatformMojoMediaClient::CreateAudioRendererSink() { |
32 return nullptr; | 20 return nullptr; |
33 }; | 21 }; |
34 | 22 |
35 scoped_ptr<VideoRendererSink> PlatformMojoMediaClient::CreateVideoRendererSink( | 23 scoped_ptr<VideoRendererSink> PlatformMojoMediaClient::CreateVideoRendererSink( |
36 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner) { | 24 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner) { |
37 return nullptr; | 25 return nullptr; |
38 } | 26 } |
39 | 27 |
40 const AudioHardwareConfig* PlatformMojoMediaClient::GetAudioHardwareConfig() { | |
41 return nullptr; | |
42 } | |
43 | |
44 scoped_ptr<CdmFactory> PlatformMojoMediaClient::CreateCdmFactory( | 28 scoped_ptr<CdmFactory> PlatformMojoMediaClient::CreateCdmFactory( |
45 mojo::ServiceProvider* service_provider) { | 29 mojo::ServiceProvider* service_provider) { |
46 return nullptr; | 30 return nullptr; |
47 } | 31 } |
48 | 32 |
49 namespace internal { | 33 namespace internal { |
50 extern scoped_ptr<PlatformMojoMediaClient> CreatePlatformMojoMediaClient(); | 34 extern scoped_ptr<PlatformMojoMediaClient> CreatePlatformMojoMediaClient(); |
51 } // namespace internal | 35 } // namespace internal |
52 | 36 |
53 static base::LazyInstance<MojoMediaClient>::Leaky g_mojo_media_client = | 37 static base::LazyInstance<MojoMediaClient>::Leaky g_mojo_media_client = |
54 LAZY_INSTANCE_INITIALIZER; | 38 LAZY_INSTANCE_INITIALIZER; |
55 | 39 |
56 // static | 40 // static |
57 MojoMediaClient* MojoMediaClient::Get() { | 41 MojoMediaClient* MojoMediaClient::Get() { |
58 return g_mojo_media_client.Pointer(); | 42 return g_mojo_media_client.Pointer(); |
59 } | 43 } |
60 | 44 |
61 scoped_ptr<RendererFactory> MojoMediaClient::CreateRendererFactory( | 45 scoped_ptr<RendererFactory> MojoMediaClient::CreateRendererFactory( |
62 const scoped_refptr<MediaLog>& media_log) { | 46 const scoped_refptr<MediaLog>& media_log) { |
63 return mojo_media_client_->CreateRendererFactory(media_log); | 47 return mojo_media_client_->CreateRendererFactory(media_log); |
64 } | 48 } |
65 | 49 |
66 ScopedVector<AudioDecoder> MojoMediaClient::CreateAudioDecoders( | |
67 const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner, | |
68 const scoped_refptr<MediaLog>& media_log) { | |
69 return mojo_media_client_->CreateAudioDecoders(media_task_runner, media_log); | |
70 } | |
71 | |
72 ScopedVector<VideoDecoder> MojoMediaClient::CreateVideoDecoders( | |
73 const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner, | |
74 const scoped_refptr<MediaLog>& media_log) { | |
75 return mojo_media_client_->CreateVideoDecoders(media_task_runner, media_log); | |
76 } | |
77 | |
78 scoped_refptr<AudioRendererSink> MojoMediaClient::CreateAudioRendererSink() { | 50 scoped_refptr<AudioRendererSink> MojoMediaClient::CreateAudioRendererSink() { |
79 return mojo_media_client_->CreateAudioRendererSink(); | 51 return mojo_media_client_->CreateAudioRendererSink(); |
80 } | 52 } |
81 | 53 |
82 scoped_ptr<VideoRendererSink> MojoMediaClient::CreateVideoRendererSink( | 54 scoped_ptr<VideoRendererSink> MojoMediaClient::CreateVideoRendererSink( |
83 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner) { | 55 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner) { |
84 return mojo_media_client_->CreateVideoRendererSink(task_runner); | 56 return mojo_media_client_->CreateVideoRendererSink(task_runner); |
85 } | 57 } |
86 | 58 |
87 const AudioHardwareConfig* MojoMediaClient::GetAudioHardwareConfig() { | |
88 return mojo_media_client_->GetAudioHardwareConfig(); | |
89 } | |
90 | |
91 scoped_ptr<CdmFactory> MojoMediaClient::CreateCdmFactory( | 59 scoped_ptr<CdmFactory> MojoMediaClient::CreateCdmFactory( |
92 mojo::ServiceProvider* service_provider) { | 60 mojo::ServiceProvider* service_provider) { |
93 return mojo_media_client_->CreateCdmFactory(service_provider); | 61 return mojo_media_client_->CreateCdmFactory(service_provider); |
94 } | 62 } |
95 | 63 |
96 MojoMediaClient::MojoMediaClient() | 64 MojoMediaClient::MojoMediaClient() |
97 : mojo_media_client_(internal::CreatePlatformMojoMediaClient()) { | 65 : mojo_media_client_(internal::CreatePlatformMojoMediaClient()) { |
98 DCHECK(mojo_media_client_); | 66 DCHECK(mojo_media_client_); |
99 } | 67 } |
100 | 68 |
101 MojoMediaClient::~MojoMediaClient() { | 69 MojoMediaClient::~MojoMediaClient() { |
102 } | 70 } |
103 | 71 |
104 } // namespace media | 72 } // namespace media |
OLD | NEW |