1# Copyright (c) 2021-2025 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("../../accessibility.gni") 16import("../../appgallery.gni") 17import("../../audio_framework_test_sources.gni") 18import("../../av_session.gni") 19import("../../bluetooth_part.gni") 20import("../../config.gni") 21 22group("audio_policy_packages") { 23 deps = [ 24 ":audio_affinity_config", 25 ":audio_converter_config", 26 ":audio_device_config", 27 ":audio_interrupt_policy_config", 28 ":audio_policy_global_config", 29 ":audio_policy_service", 30 ":audio_strategy_router", 31 ":audio_usage_strategy", 32 ":audio_volume_config", 33 "safe_volume_notification:audio_safe_volume_notification_impl", 34 ] 35 36 if (audio_framework_feature_dtmf_tone) { 37 deps += [ ":audio_tone_dtmf_config" ] 38 } 39} 40 41config("audio_policy_public_config") { 42 include_dirs = [ 43 "util/include", 44 "common/include", 45 "client/include", 46 "server/include", 47 "server/include/service", 48 "server/include/service/common", 49 "server/include/service/config", 50 "server/include/service/effect", 51 "server/include/service/interface", 52 "server/include/service/listener", 53 "server/include/service/manager", 54 "server/include/service/manager/pnp_server", 55 "server/include/service/routers", 56 "server/include/service/service", 57 "server/include/service/spatialization", 58 "server/src/interface", 59 "server/src/service/concurrency", 60 "server/src/service/interrupt", 61 "server/src/service/session", 62 "safe_volume_notification/include", 63 "../audio_service/client/include", 64 "../audio_service/common/include", 65 "../audio_service/common/include/dfx", 66 "../../frameworks/native/audioinnercall/include", 67 "../../frameworks/native/audiorenderer/include", 68 "../../frameworks/native/audioadapter/include", 69 "../../frameworks/native/audiopolicy/include", 70 "../../frameworks/native/audioutils/include", 71 "../../frameworks/native/bluetoothclient", 72 "../../frameworks/native/hdiadapter_new/include", 73 "../../interfaces/inner_api/native/audiocommon/include", 74 "../../interfaces/inner_api/native/audiomanager/include", 75 ] 76 77 cflags = [ 78 "-Wall", 79 "-Werror", 80 ] 81 82 if (target_cpu == "arm") { 83 cflags += [ "-DBINDER_IPC_32BIT" ] 84 } 85 86 if (accessibility_enable == true) { 87 cflags += [ "-DACCESSIBILITY_ENABLE" ] 88 } 89 90 if (bluetooth_part_enable == true) { 91 cflags += [ "-DBLUETOOTH_ENABLE" ] 92 } 93 94 if (avsession_part_enable == true && !(use_libfuzzer || use_clang_coverage)) { 95 cflags += [ "-DAVSESSION_ENABLE" ] 96 } 97 98 ldflags = [ "-Wl" ] 99} 100 101ohos_shared_library("audio_setting_provider") { 102 stack_protector_ret = true 103 sanitize = { 104 cfi = true 105 cfi_cross_dso = true 106 cfi_vcall_icall_only = true 107 debug = false 108 integer_overflow = true 109 ubsan = true 110 boundary_sanitize = true 111 } 112 install_enable = true 113 114 include_dirs = [ 115 "../../services/audio_policy/server/include/service/manager", 116 "../../interfaces/inner_api/native/audiocommon/include", 117 ] 118 119 sources = [ "server/src/service/manager/audio_setting_provider.cpp" ] 120 121 deps = [ "../../frameworks/native/audioutils:audio_utils" ] 122 123 external_deps = [ 124 "c_utils:utils", 125 "data_share:datashare_common", 126 "data_share:datashare_consumer", 127 "hilog:libhilog", 128 "ipc:ipc_single", 129 "os_account:os_account_innerkits", 130 "samgr:samgr_proxy", 131 ] 132 cflags = [ "-Os" ] 133 cflags_cc = cflags 134 135 defines = [] 136 if (audio_framework_feature_support_os_account) { 137 defines += [ "SUPPORT_USER_ACCOUNT" ] 138 } 139 140 part_name = "audio_framework" 141 subsystem_name = "multimedia" 142} 143 144audio_ohos_library("audio_policy_service") { 145 stack_protector_ret = true 146 sanitize = { 147 cfi = true 148 cfi_cross_dso = true 149 cfi_vcall_icall_only = true 150 debug = false 151 integer_overflow = true 152 ubsan = true 153 boundary_sanitize = true 154 } 155 install_enable = true 156 sources = [ 157 "../audio_service/client/src/audio_filter.cpp", 158 "../audio_service/client/src/audio_manager_listener_stub.cpp", 159 "../audio_service/client/src/microphone_descriptor.cpp", 160 "../audio_service/client/src/policy_provider_stub.cpp", 161 "client/src/audio_interrupt_group_info.cpp", 162 "client/src/audio_volume_group_info.cpp", 163 "server/src/app_state_listener.cpp", 164 "server/src/audio_anahs_manager_listener_proxy.cpp", 165 "server/src/audio_client_tracker_callback_proxy.cpp", 166 "server/src/audio_concurrency_state_listener_proxy.cpp", 167 "server/src/audio_group_handle.cpp", 168 "server/src/audio_policy_async_action_handler.cpp", 169 "server/src/audio_policy_client_proxy.cpp", 170 "server/src/audio_policy_manager_device_stub.cpp", 171 "server/src/audio_policy_manager_listener_proxy.cpp", 172 "server/src/audio_policy_manager_stub.cpp", 173 "server/src/audio_policy_server.cpp", 174 "server/src/audio_policy_server_handler.cpp", 175 "server/src/audio_policy_state_monitor.cpp", 176 "server/src/audio_routing_manager_listener_proxy.cpp", 177 "server/src/audio_spatialization_state_change_listener_proxy.cpp", 178 "server/src/audio_stream_collector.cpp", 179 "server/src/service/audio_affinity_manager.cpp", 180 "server/src/service/audio_device_manager.cpp", 181 "server/src/service/audio_global_config_manager.cpp", 182 "server/src/service/audio_policy_service.cpp", 183 "server/src/service/audio_state_manager.cpp", 184 "server/src/service/concurrency/audio_concurrency_service.cpp", 185 "server/src/service/config/audio_adapter_info.cpp", 186 "server/src/service/config/audio_affinity_parser.cpp", 187 "server/src/service/config/audio_concurrency_parser.cpp", 188 "server/src/service/config/audio_converter_parser.cpp", 189 "server/src/service/config/audio_device_parser.cpp", 190 "server/src/service/config/audio_focus_parser.cpp", 191 "server/src/service/config/audio_policy_global_parser.cpp", 192 "server/src/service/config/audio_policy_parser.cpp", 193 "server/src/service/config/audio_strategy_router_parser.cpp", 194 "server/src/service/config/audio_usage_strategy_parser.cpp", 195 "server/src/service/config/audio_volume_parser.cpp", 196 "server/src/service/data_share_observer_callback.cpp", 197 "server/src/service/device_init_callback.cpp", 198 "server/src/service/effect/audio_effect_config_parser.cpp", 199 "server/src/service/effect/audio_effect_service.cpp", 200 "server/src/service/interrupt/audio_interrupt_dfx_collector.cpp", 201 "server/src/service/interrupt/audio_interrupt_service.cpp", 202 "server/src/service/interrupt/audio_interrupt_service_ext.cpp", 203 "server/src/service/interrupt/audio_interrupt_zone.cpp", 204 "server/src/service/listener/device_status_listener.cpp", 205 "server/src/service/listener/power_state_listener.cpp", 206 "server/src/service/manager/audio_adapter_manager.cpp", 207 "server/src/service/manager/audio_adapter_manager_handler.cpp", 208 "server/src/service/manager/client_type_manager.cpp", 209 "server/src/service/manager/client_type_manager_handler.cpp", 210 "server/src/service/manager/volume_data_maintainer.cpp", 211 "server/src/service/routers/app_select_router.cpp", 212 "server/src/service/routers/audio_router_center.cpp", 213 "server/src/service/routers/cockpit_phone_router.cpp", 214 "server/src/service/routers/default_router.cpp", 215 "server/src/service/routers/package_filter_router.cpp", 216 "server/src/service/routers/pair_device_router.cpp", 217 "server/src/service/routers/privacy_priority_router.cpp", 218 "server/src/service/routers/public_priority_router.cpp", 219 "server/src/service/routers/stream_filter_router.cpp", 220 "server/src/service/routers/user_select_router.cpp", 221 "server/src/service/service/audio_a2dp_device.cpp", 222 "server/src/service/service/audio_a2dp_offload_flag.cpp", 223 "server/src/service/service/audio_a2dp_offload_manager.cpp", 224 "server/src/service/service/audio_active_device.cpp", 225 "server/src/service/service/audio_capturer_session.cpp", 226 "server/src/service/service/audio_config_manager.cpp", 227 "server/src/service/service/audio_connected_device.cpp", 228 "server/src/service/service/audio_device_common.cpp", 229 "server/src/service/service/audio_device_lock.cpp", 230 "server/src/service/service/audio_device_status.cpp", 231 "server/src/service/service/audio_ec_manager.cpp", 232 "server/src/service/service/audio_iohandle_map.cpp", 233 "server/src/service/service/audio_microphone_descriptor.cpp", 234 "server/src/service/service/audio_offload_stream.cpp", 235 "server/src/service/service/audio_policy_dump.cpp", 236 "server/src/service/service/audio_policy_utils.cpp", 237 "server/src/service/service/audio_recovery_device.cpp", 238 "server/src/service/service/audio_router_map.cpp", 239 "server/src/service/service/audio_scene_manager.cpp", 240 "server/src/service/service/audio_server_proxy.cpp", 241 "server/src/service/service/audio_tone_manager.cpp", 242 "server/src/service/service/audio_volume_manager.cpp", 243 "server/src/service/session/audio_session.cpp", 244 "server/src/service/session/audio_session_service.cpp", 245 "server/src/service/session/audio_session_state_monitor.cpp", 246 "server/src/service/spatialization/audio_spatialization_service.cpp", 247 "util/src/audio_ability_manager.cpp", 248 ] 249 250 defines = [] 251 if (audio_framework_feature_wired_audio) { 252 defines += [ "AUDIO_WIRED_DETECT" ] 253 sources += [ 254 "server/src/service/manager/pnp_server/audio_input_thread.cpp", 255 "server/src/service/manager/pnp_server/audio_pnp_server.cpp", 256 "server/src/service/manager/pnp_server/audio_socket_thread.cpp", 257 ] 258 } 259 260 if (build_variant == "user") { 261 defines += [ "AUDIO_BUILD_VARIANT_USER" ] 262 } else if (build_variant == "root") { 263 defines += [ "AUDIO_BUILD_VARIANT_ROOT" ] 264 } 265 266 if (use_libfuzzer || use_clang_coverage) { 267 defines += [ "TEST_COVERAGE" ] 268 } 269 270 if (audio_framework_feature_support_os_account) { 271 defines += [ "SUPPORT_USER_ACCOUNT" ] 272 } 273 274 if (audio_framework_feature_dtmf_tone) { 275 sources += [ "server/src/service/config/audio_tone_parser.cpp" ] 276 defines += [ "FEATURE_DTMF_TONE" ] 277 } 278 279 if (is_emulator) { 280 defines += [ "IS_EMULATOR" ] 281 } 282 283 if (audio_framework_feature_inner_capturer) { 284 defines += [ "HAS_FEATURE_INNERCAPTURER" ] 285 } 286 287 public_configs = [ ":audio_policy_public_config" ] 288 289 deps = [ 290 "../../frameworks/native/audioadapter:pulse_audio_service_adapter", 291 "../../frameworks/native/audioinnercall:audio_inner_call", 292 "../../frameworks/native/audioutils:audio_utils", 293 "../../frameworks/native/audioutils:audio_xml_utils", 294 "../audio_policy:audio_config.para", 295 "../audio_policy:audio_config.para.dac", 296 "../audio_policy:audio_foundation", 297 "../audio_policy:audio_setting_provider", 298 "../audio_service:audio_common", 299 ] 300 301 external_deps = [ 302 "ability_base:session_info", 303 "ability_base:want", 304 "ability_base:zuri", 305 "ability_runtime:ability_connect_callback_stub", 306 "ability_runtime:ability_context_native", 307 "ability_runtime:app_context", 308 "ability_runtime:app_manager", 309 "ability_runtime:dataobs_manager", 310 "ability_runtime:extension_manager", 311 "access_token:libaccesstoken_sdk", 312 "access_token:libprivacy_sdk", 313 "access_token:libtokenid_sdk", 314 "access_token:libtokensetproc_shared", 315 "bounds_checking_function:libsec_shared", 316 "bundle_framework:appexecfwk_base", 317 "bundle_framework:appexecfwk_core", 318 "c_utils:utils", 319 "data_share:datashare_common", 320 "data_share:datashare_consumer", 321 "drivers_interface_audio:libaudio_proxy_4.0", 322 "eventhandler:libeventhandler", 323 "hdf_core:libhdf_host", 324 "hdf_core:libhdf_ipc_adapter", 325 "hdf_core:libhdf_utils", 326 "hdf_core:libhdi", 327 "hdf_core:libpub_utils", 328 "hilog:libhilog", 329 "hisysevent:libhisysevent", 330 "init:libbegetutil", 331 "ipc:ipc_single", 332 "media_foundation:media_monitor_client", 333 "media_foundation:media_monitor_common", 334 "os_account:os_account_innerkits", 335 "power_manager:power_setting", 336 "power_manager:powermgr_client", 337 "pulseaudio:pulse", 338 "safwk:system_ability_fwk", 339 "samgr:samgr_proxy", 340 ] 341 342 public_external_deps = [ "ffrt:libffrt" ] 343 344 public_external_deps += [ 345 "libxml2:libxml2", 346 "openssl:libcrypto_shared", 347 ] 348 349 if (audio_framework_feature_usb_audio) { 350 defines += [ "USB_ENABLE" ] 351 external_deps += [ "usb_manager:usbsrv_client" ] 352 sources += [ "server/src/service/manager/audio_usb_manager.cpp" ] 353 } 354 355 if (audio_framework_feature_detect_soundbox) { 356 defines += [ "DETECT_SOUNDBOX" ] 357 } 358 359 if (audio_framework_config_policy_enable) { 360 defines += [ "USE_CONFIG_POLICY" ] 361 external_deps += [ "config_policy:configpolicy_util" ] 362 } 363 364 if (appgallery_part_enable == true) { 365 defines += [ "FEATURE_APPGALLERY" ] 366 } 367 368 if (bluetooth_part_enable == true) { 369 deps += [ "../../frameworks/native/bluetoothclient:audio_bluetooth_client" ] 370 external_deps += [ "bluetooth:btframework" ] 371 } 372 373 if (audio_framework_feature_input) { 374 defines += [ "FEATURE_MULTIMODALINPUT_INPUT" ] 375 external_deps += [ "input:libmmi-client" ] 376 } 377 378 if (audio_framework_feature_device_manager) { 379 defines += [ "FEATURE_DEVICE_MANAGER" ] 380 external_deps += [ "device_manager:devicemanagersdk" ] 381 } 382 383 cflags = [ "-Os" ] 384 cflags_cc = cflags 385 subsystem_name = "multimedia" 386 part_name = "audio_framework" 387 version_script = "libaudio_policy_service.versionscript" 388} 389 390ohos_prebuilt_etc("audio_interrupt_policy_config") { 391 source = "server/config/audio_interrupt_policy_config.xml" 392 393 subsystem_name = "multimedia" 394 relative_install_dir = "audio" 395 part_name = "audio_framework" 396} 397 398ohos_prebuilt_etc("audio_strategy_router") { 399 source = "server/config/audio_strategy_router.xml" 400 401 subsystem_name = "multimedia" 402 relative_install_dir = "audio" 403 part_name = "audio_framework" 404} 405 406ohos_prebuilt_etc("audio_usage_strategy") { 407 source = "server/config/audio_usage_strategy.xml" 408 409 subsystem_name = "multimedia" 410 relative_install_dir = "audio" 411 part_name = "audio_framework" 412} 413 414ohos_prebuilt_etc("audio_device_config") { 415 source = "server/config/audio_device_privacy.xml" 416 417 subsystem_name = "multimedia" 418 relative_install_dir = "audio" 419 part_name = "audio_framework" 420} 421 422ohos_prebuilt_etc("audio_volume_config") { 423 source = "server/config/audio_volume_config.xml" 424 425 subsystem_name = "multimedia" 426 relative_install_dir = "audio" 427 part_name = "audio_framework" 428} 429 430ohos_prebuilt_etc("audio_affinity_config") { 431 source = "server/config/audio_affinity_config.xml" 432 433 subsystem_name = "multimedia" 434 relative_install_dir = "audio" 435 part_name = "audio_framework" 436} 437 438ohos_prebuilt_etc("audio_policy_global_config") { 439 source = "server/config/audio_policy_global_config.xml" 440 441 subsystem_name = "multimedia" 442 relative_install_dir = "audio" 443 part_name = "audio_framework" 444} 445 446if (audio_framework_feature_dtmf_tone) { 447 ohos_prebuilt_etc("audio_tone_dtmf_config") { 448 source = "server/config/audio_tone_dtmf_config.xml" 449 450 subsystem_name = "multimedia" 451 relative_install_dir = "audio" 452 part_name = "audio_framework" 453 } 454} 455 456ohos_prebuilt_etc("audio_converter_config") { 457 source = "server/config/audio_converter_config.xml" 458 459 subsystem_name = "multimedia" 460 relative_install_dir = "audio" 461 part_name = "audio_framework" 462} 463 464ohos_prebuilt_etc("audio_config.para") { 465 source = "etc/audio_config.para" 466 subsystem_name = "multimedia" 467 part_name = "audio_framework" 468 module_install_dir = "etc/param" 469} 470 471ohos_prebuilt_etc("audio_config.para.dac") { 472 source = "etc/audio_config.para.dac" 473 subsystem_name = "multimedia" 474 part_name = "audio_framework" 475 module_install_dir = "etc/param" 476} 477 478config("audio_policy_client_config") { 479 include_dirs = [ 480 "client/include", 481 "common/include", 482 "server/include", 483 "../audio_service/client/include", 484 "../audio_service/common/include", 485 "../../frameworks/native/audiopolicy/include", 486 "../../interfaces/inner_api/native/audiocommon/include", 487 "../../interfaces/inner_api/native/audiomanager/include", 488 ] 489 490 cflags = [ 491 "-Wall", 492 "-Werror", 493 ] 494 495 if (target_cpu == "arm") { 496 cflags += [ "-DBINDER_IPC_32BIT" ] 497 } 498} 499 500audio_ohos_library("audio_policy_client") { 501 branch_protector_ret = "pac_ret" 502 install_enable = true 503 504 defines = [] 505 if (audio_framework_feature_dtmf_tone) { 506 defines += [ "FEATURE_DTMF_TONE" ] 507 } 508 509 if (audio_framework_feature_inner_capturer) { 510 defines += [ "HAS_FEATURE_INNERCAPTURER" ] 511 } 512 513 sources = [ 514 "../audio_policy/server/src/service/device/audio_device_descriptor.cpp", 515 "../audio_service/client/src/audio_filter.cpp", 516 "../audio_service/client/src/microphone_descriptor.cpp", 517 "client/src/audio_anahs_manager_listener_stub.cpp", 518 "client/src/audio_client_tracker_callback_stub.cpp", 519 "client/src/audio_concurrency_state_listener_stub.cpp", 520 "client/src/audio_policy_client_stub.cpp", 521 "client/src/audio_policy_client_stub_impl.cpp", 522 "client/src/audio_policy_manager.cpp", 523 "client/src/audio_policy_manager_device.cpp", 524 "client/src/audio_policy_manager_listener_stub.cpp", 525 "client/src/audio_routing_manager_listener_stub.cpp", 526 "client/src/audio_spatialization_state_change_listener_stub.cpp", 527 "client/src/audio_volume_group_info.cpp", 528 "client/src/proxy/audio_policy_callback_proxy.cpp", 529 "client/src/proxy/audio_policy_microphone_proxy.cpp", 530 "client/src/proxy/audio_policy_proxy.cpp", 531 "client/src/proxy/audio_policy_volume_proxy.cpp", 532 ] 533 534 deps = [ "../../frameworks/native/audioutils:audio_utils" ] 535 536 public_configs = [ ":audio_policy_client_config" ] 537 538 include_dirs = [ "../../frameworks/native/audioutils/include" ] 539 540 external_deps = [ 541 "bounds_checking_function:libsec_shared", 542 "c_utils:utils", 543 "eventhandler:libeventhandler", 544 "hilog:libhilog", 545 "init:libbegetutil", 546 "ipc:ipc_single", 547 "samgr:samgr_proxy", 548 ] 549 subsystem_name = "multimedia" 550 innerapi_tags = [ "platformsdk" ] 551 cflags = [ "-Os" ] 552 cflags_cc = cflags 553 part_name = "audio_framework" 554 555 ldflags = [ "-Wl,-Bsymbolic" ] 556 version_script = "libaudio_policy_client.versionscript" 557} 558 559group("audio_policy_test_packages") { 560 testonly = true 561 562 deps = [ 563 ":audio_dump_test", 564 ":audio_policy_test", 565 "test:audio_policy_unittest_packages", 566 ] 567} 568 569ohos_executable("audio_dump_test") { 570 install_enable = false 571 sanitize = { 572 cfi = true 573 cfi_cross_dso = true 574 cfi_vcall_icall_only = true 575 debug = false 576 integer_overflow = true 577 ubsan = true 578 boundary_sanitize = true 579 } 580 sources = [ "test/example/audio_dump_test.cpp" ] 581 582 configs = [ ":audio_policy_client_config" ] 583 584 deps = [ 585 "../audio_policy:audio_policy_client", 586 "../audio_service:audio_client", 587 ] 588 589 include_dirs = [] 590 591 external_deps = [ 592 "bounds_checking_function:libsec_shared", 593 "c_utils:utils", 594 "hilog:libhilog", 595 "ipc:ipc_single", 596 ] 597 598 part_name = "audio_framework" 599 subsystem_name = "multimedia" 600} 601 602ohos_executable("audio_policy_test") { 603 install_enable = false 604 605 sources = [ "test/example/audio_policy_test.cpp" ] 606 607 configs = [ ":audio_policy_client_config" ] 608 609 deps = [ 610 "../audio_policy:audio_foundation", 611 "../audio_policy:audio_policy_client", 612 "../audio_service:audio_client", 613 ] 614 615 include_dirs = [] 616 617 external_deps = [ 618 "bounds_checking_function:libsec_shared", 619 "c_utils:utils", 620 "hilog:libhilog", 621 "ipc:ipc_single", 622 ] 623 624 part_name = "audio_framework" 625 subsystem_name = "multimedia" 626} 627 628config("audio_foundation_public_config") { 629 include_dirs = [ 630 "util/include", 631 "../audio_service/util/include", 632 "../../interfaces/inner_api/native/audiocommon/include", 633 "../../interfaces/inner_api/native/audiomanager/include", 634 "../../frameworks/native/audiopolicy/include", 635 ] 636} 637 638ohos_shared_library("audio_foundation") { 639 branch_protector_ret = "pac_ret" 640 sanitize = { 641 cfi = true 642 cfi_cross_dso = true 643 cfi_vcall_icall_only = true 644 debug = false 645 integer_overflow = true 646 ubsan = true 647 boundary_sanitize = true 648 } 649 install_enable = true 650 sources = [ 651 "../audio_service/client/src/audio_filter.cpp", 652 "server/src/service/device/audio_device_descriptor.cpp", 653 "util/src/audio_device_type.cpp", 654 "util/src/audio_effect_map.cpp", 655 ] 656 657 public_configs = [ ":audio_foundation_public_config" ] 658 659 deps = [ 660 "../../frameworks/native/audioutils:audio_utils", 661 "../audio_policy:audio_policy_client", 662 "../audio_service:audio_common", 663 ] 664 665 external_deps = [ "hilog:libhilog" ] 666 667 public_external_deps = [ "c_utils:utils" ] 668 669 cflags = [ "-Os" ] 670 cflags_cc = cflags 671 672 innerapi_tags = [ "platformsdk" ] 673 subsystem_name = "multimedia" 674 part_name = "audio_framework" 675} 676 677config("audio_manager_client_public_config") { 678 include_dirs = [ "util/include" ] 679} 680 681ohos_shared_library("audio_manager_client") { 682 branch_protector_ret = "pac_ret" 683 sanitize = { 684 cfi = true 685 cfi_cross_dso = true 686 cfi_vcall_icall_only = true 687 debug = false 688 integer_overflow = true 689 ubsan = true 690 boundary_sanitize = true 691 } 692 install_enable = true 693 sources = [ 694 "../audio_service/client/src/audio_anahs_manager.cpp", 695 "util/src/audio_general_manager.cpp", 696 "util/src/audio_manager_util.cpp", 697 ] 698 699 public_configs = [ ":audio_manager_client_public_config" ] 700 701 deps = [ 702 ":audio_foundation", 703 ":audio_policy_client", 704 ":audio_policy_common", 705 "../../frameworks/native/audioutils:audio_utils", 706 "../audio_service:audio_common", 707 ] 708 709 external_deps = [ 710 "bundle_framework:appexecfwk_base", 711 "bundle_framework:appexecfwk_core", 712 "eventhandler:libeventhandler", 713 "hicollie:libhicollie", 714 "hilog:libhilog", 715 "ipc:ipc_single", 716 "samgr:samgr_proxy", 717 ] 718 719 defines = [] 720 if (audio_framework_feature_inner_capturer) { 721 defines += [ "HAS_FEATURE_INNERCAPTURER" ] 722 } 723 724 cflags = [ "-Os" ] 725 cflags_cc = cflags 726 727 innerapi_tags = [ "platformsdk" ] 728 subsystem_name = "multimedia" 729 part_name = "audio_framework" 730} 731 732config("audio_policy_common_public_config") { 733 include_dirs = [ 734 "../../interfaces/inner_api/native/audiomanager/include", 735 "../../interfaces/inner_api/native/audiocommon/include", 736 "../audio_service/client/include", 737 ] 738} 739 740ohos_shared_library("audio_policy_common") { 741 branch_protector_ret = "pac_ret" 742 sanitize = { 743 cfi = true 744 cfi_cross_dso = true 745 cfi_vcall_icall_only = true 746 debug = false 747 integer_overflow = true 748 ubsan = true 749 boundary_sanitize = true 750 } 751 install_enable = true 752 sources = [ 753 "../audio_service/client/src/audio_focus_info_change_callback_impl.cpp", 754 "../audio_service/client/src/resource_manager_adapter.cpp", 755 ] 756 757 public_configs = [ ":audio_policy_common_public_config" ] 758 759 external_deps = [ 760 "c_utils:utils", 761 "common_event_service:cesfwk_innerkits", 762 "hilog:libhilog", 763 "i18n:intl_util", 764 "ipc:ipc_core", 765 ] 766 767 cflags = [ "-Os" ] 768 cflags_cc = cflags 769 770 innerapi_tags = [ "platformsdk" ] 771 subsystem_name = "multimedia" 772 part_name = "audio_framework" 773} 774