[M120 Migration][MM][CAPI] Fix the logic for media using capi player.
[platform/framework/web/chromium-efl.git] / media / mojo / services / mojo_media_client.cc
1 // Copyright 2014 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "media/mojo/services/mojo_media_client.h"
6
7 #include "base/task/sequenced_task_runner.h"
8 #include "base/task/single_thread_task_runner.h"
9 #include "build/build_config.h"
10 #include "media/base/audio_decoder.h"
11 #include "media/base/audio_encoder.h"
12 #include "media/base/cdm_factory.h"
13 #include "media/base/media_log.h"
14 #include "media/base/renderer.h"
15 #include "media/base/video_decoder.h"
16
17 namespace media {
18
19 MojoMediaClient::MojoMediaClient() = default;
20
21 MojoMediaClient::~MojoMediaClient() = default;
22
23 void MojoMediaClient::Initialize() {}
24
25 std::unique_ptr<AudioDecoder> MojoMediaClient::CreateAudioDecoder(
26     scoped_refptr<base::SequencedTaskRunner> task_runner,
27     std::unique_ptr<media::MediaLog> media_log) {
28   return nullptr;
29 }
30
31 std::unique_ptr<AudioEncoder> MojoMediaClient::CreateAudioEncoder(
32     scoped_refptr<base::SequencedTaskRunner> task_runner) {
33   return nullptr;
34 }
35
36 SupportedVideoDecoderConfigs
37 MojoMediaClient::GetSupportedVideoDecoderConfigs() {
38   return {};
39 }
40
41 VideoDecoderType MojoMediaClient::GetDecoderImplementationType() {
42   return VideoDecoderType::kUnknown;
43 }
44
45 #if BUILDFLAG(ALLOW_OOP_VIDEO_DECODER)
46 void MojoMediaClient::NotifyDecoderSupportKnown(
47     mojo::PendingRemote<stable::mojom::StableVideoDecoder> oop_video_decoder,
48     base::OnceCallback<
49         void(mojo::PendingRemote<stable::mojom::StableVideoDecoder>)> cb) {
50   std::move(cb).Run(std::move(oop_video_decoder));
51 }
52 #endif  // BUILDFLAG(ALLOW_OOP_VIDEO_DECODER)
53
54 std::unique_ptr<VideoDecoder> MojoMediaClient::CreateVideoDecoder(
55     scoped_refptr<base::SequencedTaskRunner> task_runner,
56     MediaLog* media_log,
57     mojom::CommandBufferIdPtr command_buffer_id,
58     RequestOverlayInfoCB request_overlay_info_cb,
59     const gfx::ColorSpace& target_color_space,
60     mojo::PendingRemote<stable::mojom::StableVideoDecoder> oop_video_decoder) {
61   return nullptr;
62 }
63
64 std::unique_ptr<Renderer> MojoMediaClient::CreateRenderer(
65     mojom::FrameInterfaceFactory* frame_interfaces,
66     scoped_refptr<base::SingleThreadTaskRunner> task_runner,
67     MediaLog* media_log,
68     const std::string& audio_device_id) {
69   return nullptr;
70 }
71
72 #if BUILDFLAG(ENABLE_CAST_RENDERER)
73 std::unique_ptr<Renderer> MojoMediaClient::CreateCastRenderer(
74     mojom::FrameInterfaceFactory* frame_interfaces,
75     scoped_refptr<base::SingleThreadTaskRunner> task_runner,
76     MediaLog* media_log,
77     const base::UnguessableToken& overlay_plane_id) {
78   return nullptr;
79 }
80 #endif  // BUILDFLAG(ENABLE_CAST_RENDERER)
81
82 #if BUILDFLAG(IS_WIN)
83 std::unique_ptr<Renderer> MojoMediaClient::CreateMediaFoundationRenderer(
84     scoped_refptr<base::SingleThreadTaskRunner> task_runner,
85     mojom::FrameInterfaceFactory* frame_interfaces,
86     mojo::PendingRemote<mojom::MediaLog> media_log_remote,
87     mojo::PendingReceiver<mojom::MediaFoundationRendererExtension>
88         renderer_extension_receiver,
89     mojo::PendingRemote<media::mojom::MediaFoundationRendererClientExtension>
90         client_extension_remote) {
91   return nullptr;
92 }
93 #endif  // BUILDFLAG(IS_WIN)
94
95 std::unique_ptr<CdmFactory> MojoMediaClient::CreateCdmFactory(
96     mojom::FrameInterfaceFactory* frame_interfaces) {
97   return nullptr;
98 }
99
100 }  // namespace media