1# Copyright (C) 2022-2022 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6#     http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14declare_args() {
15  player_framework_support_player = true
16  player_framework_support_recorder = true
17  player_framework_support_transcoder = true
18  player_framework_support_player_js_api9 = true
19  player_framework_support_recorder_js_api9 = true
20  player_framework_support_metadata = true
21  player_framework_support_histreamer = true
22  player_framework_support_video = true
23  player_framework_support_jsapi = true
24  player_framework_support_capi = true
25  player_framework_support_test = true
26  player_framework_support_xcollie = true
27  player_framework_support_jsstack = true
28  player_framework_support_seccomp = false
29  player_framework_support_screen_capture = true
30  player_framework_support_screen_capture_stopbycall = true
31  player_framework_support_screen_capture_controller = false
32  player_framework_feature_pc_select_window = false
33  player_framework_support_jssoundpool = true
34  player_framework_support_mediasource = true
35  player_framework_support_auto_create_file = false
36  player_framework_check_video_is_hdr_vivid = false
37  if (defined(build_seccomp) && build_seccomp) {
38    player_framework_support_seccomp = true
39  }
40  if (defined(global_parts_info) &&
41      defined(global_parts_info.multimedia_camera_framework) &&
42      defined(global_parts_info.multimedia_media_library)) {
43    player_framework_support_auto_create_file = true
44  }
45  player_framework_support_monitor = true
46  use_memmgr_plugin = false
47  if (defined(global_parts_info) &&
48      defined(global_parts_info.resourceschedule_memmgr_override)) {
49    use_memmgr_plugin = true
50  }
51  use_memmgr = false
52  if (defined(global_parts_info) &&
53      defined(global_parts_info.resourceschedule_memmgr)) {
54    use_memmgr = true
55  }
56  player_framework_support_avsession_background = false
57  if (defined(global_parts_info) &&
58      defined(global_parts_info.multimedia_av_session)) {
59    player_framework_support_avsession_background = true
60  }
61  player_framework_support_drm = false
62  if (defined(global_parts_info) &&
63      defined(global_parts_info.multimedia_drm_framework)) {
64    player_framework_support_drm = true
65  }
66  player_framework_support_vibrator = false
67  if (defined(global_parts_info) &&
68      defined(global_parts_info.sensors_miscdevice)) {
69    player_framework_support_vibrator = true
70  }
71  player_framework_support_power_manager = false
72  if (defined(global_parts_info) &&
73      defined(global_parts_info.powermgr_power_manager)) {
74    player_framework_support_power_manager = true
75  }
76  player_framework_support_json = false
77  if (defined(global_parts_info) &&
78      defined(global_parts_info.third_party_json)) {
79    player_framework_support_json = true
80  }
81  player_framework_support_efficiency_manager = false
82  if (defined(global_parts_info) &&
83      defined(global_parts_info.resourceschedule_efficiency_manager)) {
84    player_framework_support_efficiency_manager = true
85  }
86}
87
88player_framework_defines = []
89
90if (player_framework_support_player) {
91  player_framework_defines += [ "SUPPORT_PLAYER" ]
92} else {
93  player_framework_defines += [ "UNSUPPORT_PLAYER" ]
94}
95
96if (player_framework_support_player_js_api9) {
97  player_framework_defines += [ "SUPPORT_PLAYER_API9" ]
98}
99
100if (player_framework_support_avsession_background) {
101  player_framework_defines += [ "SUPPORT_AVSESSION" ]
102}
103
104if (player_framework_support_recorder_js_api9) {
105  player_framework_defines += [ "SUPPORT_RECORDER_API9" ]
106}
107
108if (player_framework_support_recorder) {
109  player_framework_defines += [ "SUPPORT_RECORDER" ]
110} else {
111  player_framework_defines += [ "UNSUPPORT_RECORDER" ]
112}
113
114if (player_framework_support_transcoder) {
115  player_framework_defines += [ "SUPPORT_TRANSCODER" ]
116} else {
117  player_framework_defines += [ "UNSUPPORT_TRANSCODER" ]
118}
119
120if (player_framework_support_metadata) {
121  player_framework_defines += [ "SUPPORT_METADATA" ]
122} else {
123  player_framework_defines += [ "UNSUPPORT_METADATA" ]
124}
125
126if (player_framework_support_video) {
127  player_framework_defines += [ "SUPPORT_VIDEO" ]
128} else {
129  player_framework_defines += [ "SUPPORT_AUDIO_ONLY" ]
130}
131
132if (player_framework_support_xcollie) {
133  player_framework_defines += [ "HICOLLIE_ENABLE" ]
134}
135
136if (player_framework_support_jsstack) {
137  player_framework_defines += [ "SUPPORT_JSSTACK" ]
138}
139
140if (use_memmgr_plugin || use_memmgr) {
141  player_framework_defines += [ "PLAYER_USE_MEMORY_MANAGE" ]
142}
143
144if (player_framework_support_monitor) {
145  player_framework_defines += [ "USE_MONITOR" ]
146}
147
148if (player_framework_support_screen_capture) {
149  player_framework_defines += [ "SUPPORT_SCREEN_CAPTURE" ]
150} else {
151  player_framework_defines += [ "UNSUPPORT_SCREEN_CAPTURE" ]
152}
153
154if (player_framework_support_screen_capture_controller) {
155  player_framework_defines += [ "SUPPORT_SCREEN_CAPTURE_WINDOW_NOTIFICATION" ]
156}
157
158if (player_framework_support_jssoundpool) {
159  player_framework_defines += [ "SUPPORT_SOUND_POOL" ]
160} else {
161  player_framework_defines += [ "UNSUPPORT_SOUND_POOL" ]
162}
163
164if (player_framework_support_drm) {
165  player_framework_defines += [ "SUPPORT_AVPLAYER_DRM" ]
166} else {
167  player_framework_defines += [ "UNSUPPORT_AVPLAYER_DRM" ]
168}
169
170if (player_framework_support_vibrator) {
171  player_framework_defines += [ "SUPPORT_VIBRATOR" ]
172} else {
173  player_framework_defines += [ "UNSUPPORT_VIBRATOR" ]
174}
175
176if (player_framework_support_power_manager) {
177  player_framework_defines += [ "SUPPORT_POWER_MANAGER" ]
178}
179
180if (player_framework_support_efficiency_manager) {
181  player_framework_defines += [ "USE_EFFICIENCY_MANAGER" ]
182}
183
184if (player_framework_support_mediasource) {
185  player_framework_defines += [ "SUPPORT_MEDIA_SOURCE" ]
186}
187
188if (player_framework_support_auto_create_file) {
189  player_framework_defines += [ "SUPPORT_RECORDER_CREATE_FILE" ]
190}
191
192if (player_framework_support_json) {
193  player_framework_defines += [ "SUPPORT_JSON" ]
194}
195
196# Config path
197MEDIA_PLAYER_ROOT_DIR = "//foundation/multimedia/player_framework"
198MEDIA_PLAYER_AVCODEC = "//foundation/multimedia/av_codec"
199MEDIA_PLAYER_HISTREAMER = "//foundation/multimedia/media_foundation"
200
201MEDIA_PLAYER_C_UTILS = "//commonlibrary/c_utils"
202MEDIA_PLAYER_GRAPHIC = "//foundation/graphic/graphic_2d"
203MEDIA_PLAYER_GRAPHIC_SURFACE = "//foundation/graphic/graphic_surface"
204MEDIA_DRM_ROOT_DIR = "//foundation/multimedia/drm_framework"
205
206# Fuzz test output path.
207MODULE_OUTPUT_PATH = "player_framework/player_framework"
208