1# Copyright (c) 2022-2023 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 14import("//build/ohos.gni") 15import("../../../../config.gni") 16 17ohos_shared_library("audio_renderer_sink") { 18 branch_protector_ret = "pac_ret" 19 sanitize = { 20 cfi = true 21 cfi_cross_dso = true 22 cfi_vcall_icall_only = true 23 debug = false 24 } 25 install_enable = true 26 27 sources = [ "primary/audio_renderer_sink.cpp" ] 28 29 cflags = [ "-fPIC" ] 30 cflags += [ "-Wall" ] 31 cflags_cc = cflags 32 33 include_dirs = [ 34 "common", 35 "../common/include", 36 "../../audioutils/include", 37 "../../../../interfaces/inner_api/native/audiocommon/include", 38 "../../../../services/audio_service/common/include/", 39 ] 40 41 deps = [ 42 "../../../../services/audio_service:audio_common", 43 "../../audioutils:audio_utils", 44 ] 45 46 external_deps = [ 47 "c_utils:utils", 48 "drivers_interface_audio:libaudio_proxy_4.0", 49 "hdf_core:libhdf_ipc_adapter", 50 "hilog:libhilog", 51 "init:libbegetutil", 52 "media_foundation:media_monitor_client", 53 ] 54 defines = [] 55 if (audio_framework_feature_power_manager) { 56 external_deps += [ "power_manager:powermgr_client" ] 57 defines += [ "FEATURE_POWER_MANAGER" ] 58 } 59 60 part_name = "audio_framework" 61 subsystem_name = "multimedia" 62} 63 64ohos_shared_library("fast_audio_renderer_sink") { 65 branch_protector_ret = "pac_ret" 66 sanitize = { 67 cfi = true 68 cfi_cross_dso = true 69 cfi_vcall_icall_only = true 70 debug = false 71 } 72 install_enable = true 73 74 sources = [ "fast/fast_audio_renderer_sink.cpp" ] 75 76 include_dirs = [ 77 "common", 78 "../common/include", 79 "../../audioutils/include", 80 "../../../../interfaces/inner_api/native/audiocommon/include", 81 ] 82 83 deps = [ "../../audioutils:audio_utils" ] 84 85 external_deps = [ 86 "bounds_checking_function:libsec_shared", 87 "c_utils:utils", 88 "drivers_interface_audio:libaudio_proxy_4.0", 89 "hilog:libhilog", 90 ] 91 defines = [] 92 if (audio_framework_feature_power_manager) { 93 external_deps += [ "power_manager:powermgr_client" ] 94 defines += [ "FEATURE_POWER_MANAGER" ] 95 } 96 97 part_name = "audio_framework" 98 subsystem_name = "multimedia" 99} 100 101ohos_shared_library("bluetooth_renderer_sink") { 102 branch_protector_ret = "pac_ret" 103 sanitize = { 104 cfi = true 105 cfi_cross_dso = true 106 cfi_vcall_icall_only = true 107 debug = false 108 } 109 install_enable = true 110 111 sources = [ "bluetooth/bluetooth_renderer_sink.cpp" ] 112 113 cflags = [ "-fPIC" ] 114 cflags += [ "-Wall" ] 115 116 cflags_cc = cflags 117 118 include_dirs = [ 119 "common", 120 "../common/include", 121 "../../audioutils/include", 122 "../../../../interfaces/inner_api/native/audiocommon/include", 123 "../../../../services/audio_service/common/include/", 124 ] 125 126 deps = [ 127 "../../../../services/audio_service:audio_common", 128 "../../audioutils:audio_utils", 129 ] 130 131 external_deps = [ 132 "bounds_checking_function:libsec_shared", 133 "drivers_peripheral_bluetooth:hdi_audio_bluetooth_header", 134 "hdf_core:libhdf_ipc_adapter", 135 "hdf_core:libhdi", 136 "hdf_core:libpub_utils", 137 "hilog:libhilog", 138 "init:libbegetutil", 139 "media_foundation:media_monitor_client", 140 ] 141 defines = [] 142 if (audio_framework_feature_power_manager) { 143 external_deps += [ "power_manager:powermgr_client" ] 144 defines += [ "FEATURE_POWER_MANAGER" ] 145 } 146 147 if (use_libfuzzer || use_clang_coverage) { 148 defines += [ "TEST_COVERAGE" ] 149 } 150 151 part_name = "audio_framework" 152 subsystem_name = "multimedia" 153} 154 155ohos_shared_library("remote_audio_renderer_sink") { 156 branch_protector_ret = "pac_ret" 157 sanitize = { 158 cfi = true 159 cfi_cross_dso = true 160 cfi_vcall_icall_only = true 161 debug = false 162 } 163 install_enable = true 164 165 sources = [ "remote/remote_audio_renderer_sink.cpp" ] 166 167 cflags = [ "-fPIC" ] 168 cflags += [ "-Wall" ] 169 cflags_cc = cflags 170 171 include_dirs = [ 172 "common", 173 "../common/include", 174 "../devicemanager/interface", 175 "../../audioutils/include", 176 "../../../../interfaces/inner_api/native/audiocommon/include", 177 "../../../../services/audio_service/common/include/", 178 ] 179 180 deps = [ 181 "../../../../services/audio_service:audio_common", 182 "../../audioutils:audio_utils", 183 "../devicemanager:audio_device_manager", 184 ] 185 186 external_deps = [ 187 "bounds_checking_function:libsec_shared", 188 "c_utils:utils", 189 "drivers_interface_distributed_audio:libdaudio_proxy_1.0", 190 "hilog:libhilog", 191 ] 192 defines = [] 193 if (audio_framework_feature_daudio_enable) { 194 defines += [ "FEATURE_DISTRIBUTE_AUDIO" ] 195 } 196 197 part_name = "audio_framework" 198 subsystem_name = "multimedia" 199} 200 201ohos_shared_library("remote_fast_audio_renderer_sink") { 202 branch_protector_ret = "pac_ret" 203 sanitize = { 204 cfi = true 205 cfi_cross_dso = true 206 cfi_vcall_icall_only = true 207 debug = false 208 } 209 install_enable = true 210 211 sources = [ "remote_fast/remote_fast_audio_renderer_sink.cpp" ] 212 213 cflags = [ "-fPIC" ] 214 cflags += [ "-Wall" ] 215 cflags_cc = cflags 216 217 include_dirs = [ 218 "common", 219 "fast", 220 "remote_fast", 221 "../common/include", 222 "../devicemanager/interface", 223 "../../audioutils/include", 224 "../../../../interfaces/inner_api/native/audiocommon/include", 225 ] 226 227 deps = [ 228 "../../audioutils:audio_utils", 229 "../devicemanager:audio_device_manager", 230 ] 231 232 external_deps = [ 233 "bounds_checking_function:libsec_shared", 234 "c_utils:utils", 235 "drivers_interface_distributed_audio:libdaudio_proxy_1.0", 236 "hilog:libhilog", 237 ] 238 defines = [] 239 if (audio_framework_feature_daudio_enable) { 240 defines += [ "FEATURE_DISTRIBUTE_AUDIO" ] 241 } 242 243 part_name = "audio_framework" 244 subsystem_name = "multimedia" 245} 246 247ohos_shared_library("audio_renderer_file_sink") { 248 branch_protector_ret = "pac_ret" 249 sanitize = { 250 cfi = true 251 cfi_cross_dso = true 252 cfi_vcall_icall_only = true 253 debug = false 254 } 255 install_enable = true 256 257 sources = [ "file/audio_renderer_file_sink.cpp" ] 258 259 cflags = [ "-fPIC" ] 260 cflags += [ "-Wall" ] 261 262 cflags_cc = cflags 263 264 include_dirs = [ 265 "common", 266 "../common/include", 267 "../../../../interfaces/inner_api/native/audiocommon/include", 268 ] 269 270 external_deps = [ "hilog:libhilog" ] 271 272 part_name = "audio_framework" 273 subsystem_name = "multimedia" 274} 275 276ohos_shared_library("offload_audio_renderer_sink") { 277 branch_protector_ret = "pac_ret" 278 sanitize = { 279 cfi = true 280 cfi_cross_dso = true 281 cfi_vcall_icall_only = true 282 debug = false 283 } 284 install_enable = true 285 286 sources = [ "offload/offload_audio_renderer_sink.cpp" ] 287 288 cflags = [ "-fPIC" ] 289 cflags += [ "-Wall" ] 290 291 cflags_cc = cflags 292 293 include_dirs = [ 294 "common", 295 "../common/include", 296 "../../audioutils/include", 297 "../../../../interfaces/inner_api/native/audiocommon/include", 298 "../../../../services/audio_service/common/include/", 299 ] 300 301 deps = [ 302 "../../../../services/audio_service:audio_common", 303 "../../audioutils:audio_utils", 304 ] 305 306 external_deps = [ 307 "drivers_interface_audio:libaudio_proxy_4.0", 308 "hilog:libhilog", 309 "media_foundation:media_monitor_client", 310 ] 311 312 defines = [] 313 if (audio_framework_feature_power_manager) { 314 external_deps += [ "power_manager:powermgr_client" ] 315 defines += [ "FEATURE_POWER_MANAGER" ] 316 } 317 318 part_name = "audio_framework" 319 subsystem_name = "multimedia" 320} 321 322ohos_shared_library("multichannel_audio_renderer_sink") { 323 branch_protector_ret = "pac_ret" 324 sanitize = { 325 cfi = true 326 cfi_cross_dso = true 327 cfi_vcall_icall_only = true 328 debug = false 329 } 330 install_enable = true 331 332 sources = [ "multichannel/multichannel_audio_renderer_sink.cpp" ] 333 334 cflags = [ "-fPIC" ] 335 cflags += [ "-Wall" ] 336 cflags_cc = cflags 337 338 include_dirs = [ 339 "common", 340 "../common/include", 341 "../../audioutils/include", 342 "../../../../interfaces/inner_api/native/audiocommon/include", 343 ] 344 345 deps = [ "../../audioutils:audio_utils" ] 346 347 external_deps = [ 348 "c_utils:utils", 349 "drivers_interface_audio:libaudio_proxy_4.0", 350 "hilog:libhilog", 351 "init:libbegetutil", 352 ] 353 defines = [] 354 if (audio_framework_feature_power_manager) { 355 external_deps += [ "power_manager:powermgr_client" ] 356 defines += [ "FEATURE_POWER_MANAGER" ] 357 } 358 359 part_name = "audio_framework" 360 subsystem_name = "multimedia" 361} 362 363ohos_shared_library("renderer_sink_adapter") { 364 branch_protector_ret = "pac_ret" 365 sanitize = { 366 cfi = true 367 cfi_cross_dso = true 368 cfi_vcall_icall_only = true 369 debug = false 370 } 371 install_enable = true 372 373 sources = [ 374 "common/i_audio_renderer_sink.cpp", 375 "common/renderer_sink_adapter.c", 376 ] 377 378 cflags = [ "-fPIC" ] 379 cflags += [ "-Wall" ] 380 381 include_dirs = [ 382 "common", 383 "primary", 384 "file", 385 "bluetooth", 386 "remote", 387 "offload", 388 "multichannel", 389 "../common/include", 390 "../devicemanager/interface", 391 "../../../../interfaces/inner_api/native/audiocommon/include", 392 ] 393 394 deps = [ 395 ":audio_renderer_file_sink", 396 ":audio_renderer_sink", 397 ":bluetooth_renderer_sink", 398 ":fast_audio_renderer_sink", 399 ":multichannel_audio_renderer_sink", 400 ":offload_audio_renderer_sink", 401 ] 402 403 if (audio_framework_feature_daudio_enable == true) { 404 deps += [ 405 ":remote_audio_renderer_sink", 406 ":remote_fast_audio_renderer_sink", 407 ] 408 cflags += [ "-DDAUDIO_ENABLE" ] 409 } 410 411 cflags_cc = cflags 412 413 external_deps = [ "hilog:libhilog" ] 414 415 part_name = "audio_framework" 416 subsystem_name = "multimedia" 417} 418