# Copyright (c) 2021-2022 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import("//build/ohos.gni") import("//build/ohos/ace/ace.gni") import("../../../config.gni") import("../../../multimedia_aafwk.gni") ohos_shared_library("audio") { sanitize = { cfi = true cfi_cross_dso = true debug = false blocklist = "../../../cfi_blocklist.txt" } include_dirs = [ "audio_common/include", "audio_renderer/include", "audio_capturer/include", "audio_manager/include", "audio_stream_manager/include", "../../../interfaces/kits/js/audio_manager/include", "../../../interfaces/kits/js/audio_capturer/include", "../../../interfaces/kits/js/audio_renderer/include", "../../../interfaces/inner_api/native/audiocommon/include", "//third_party/libuv/include", ] sources = [ "audio_capturer/src/audio_capturer_callback_napi.cpp", "audio_capturer/src/audio_capturer_napi.cpp", "audio_capturer/src/audio_parameters_napi.cpp", "audio_capturer/src/capturer_period_position_callback_napi.cpp", "audio_capturer/src/capturer_position_callback_napi.cpp", "audio_common/src/audio_common_napi.cpp", "audio_manager/src/audio_capturer_state_callback_napi.cpp", "audio_manager/src/audio_interrupt_manager_napi.cpp", "audio_manager/src/audio_manager_callback_napi.cpp", "audio_manager/src/audio_manager_interrupt_callback_napi.cpp", "audio_manager/src/audio_manager_napi.cpp", "audio_manager/src/audio_micstatechange_callback_napi.cpp", "audio_manager/src/audio_renderer_state_callback_napi.cpp", "audio_manager/src/audio_ringermode_callback_napi.cpp", "audio_manager/src/audio_routing_manager_callback_napi.cpp", "audio_manager/src/audio_routing_manager_napi.cpp", "audio_manager/src/audio_stream_mgr_napi.cpp", "audio_manager/src/audio_volume_group_manager_napi.cpp", "audio_manager/src/audio_volume_key_event_napi.cpp", "audio_manager/src/audio_volume_manager_napi.cpp", "audio_renderer/src/audio_renderer_callback_napi.cpp", "audio_renderer/src/audio_renderer_device_change_callback_napi.cpp", "audio_renderer/src/audio_renderer_napi.cpp", "audio_renderer/src/audio_renderer_policy_service_died_callback_napi.cpp", "audio_renderer/src/renderer_data_request_callback_napi.cpp", "audio_renderer/src/renderer_period_position_callback_napi.cpp", "audio_renderer/src/renderer_position_callback_napi.cpp", ] deps = [ "../../../services/audio_policy:audio_policy_client", "../../../services/audio_service:audio_client", "../../native/audiocapturer:audio_capturer", "../../native/audiorenderer:audio_renderer", ] defines = [] if (audio_framework_feature_dtmf_tone) { defines += [ "FEATURE_DTMF_TONE" ] include_dirs += [ "../../../interfaces/kits/js/toneplayer/include", "../../../interfaces/inner_api/native/toneplayer/include", ] sources += [ "toneplayer/src/toneplayer_napi.cpp" ] deps += [ "../../native/toneplayer:audio_toneplayer" ] } external_deps = [ "ability_runtime:abilitykit_native", "ability_runtime:napi_base_context", "c_utils:utils", "hilog:libhilog", "hiview:libxpower_event_js", "napi:ace_napi", "resource_management:global_resmgr", ] relative_install_dir = "module/multimedia" part_name = "audio_framework" subsystem_name = "multimedia" }