1# Copyright (c) 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("//build/test.gni") 16import("../../../audio_framework_test_sources.gni") 17import("../../../config.gni") 18 19ohos_shared_library("hdiadapter_new") { 20 branch_protector_ret = "pac_ret" 21 sanitize = { 22 cfi = true 23 cfi_cross_dso = true 24 cfi_vcall_icall_only = true 25 debug = false 26 integer_overflow = true 27 ubsan = true 28 boundary_sanitize = true 29 } 30 install_enable = true 31 32 cflags = [ 33 "-fPIC", 34 "-Wall", 35 "-Os", 36 ] 37 cflags_cc = cflags 38 39 include_dirs = [ 40 "include", 41 "../../../services/audio_policy/server/infra/datashare/include", 42 "../../../services/audio_service/common/include", 43 "../../../interfaces/inner_api/native/audiocommon/include", 44 "../audioutils/include", 45 "../audioeffect/include", 46 "../audioschedule/include", 47 "../audioclock/include", 48 ] 49 50 sources = [ 51 "adapter/bluetooth_device_manager.cpp", 52 "adapter/local_device_manager.cpp", 53 "manager/hdi_adapter_factory.cpp", 54 "manager/hdi_adapter_manager.cpp", 55 "manager/hdi_monitor.cpp", 56 "sink/audio_render_sink.cpp", 57 "sink/bluetooth_audio_render_sink.cpp", 58 "sink/direct_audio_render_sink.cpp", 59 "sink/fast_audio_render_sink.cpp", 60 "sink/file_audio_render_sink.cpp", 61 "sink/multichannel_audio_render_sink.cpp", 62 "sink/offload_audio_render_sink.cpp", 63 "source/audio_capture_source.cpp", 64 "source/bluetooth_audio_capture_source.cpp", 65 "source/fast_audio_capture_source.cpp", 66 "source/file_audio_capture_source.cpp", 67 "source/wakeup_audio_capture_source.cpp", 68 "util/callback_wrapper.cpp", 69 "util/id_handler.cpp", 70 "util/ring_buffer_handler.cpp", 71 ] 72 73 deps = [ 74 "../../../services/audio_policy:audio_setting_provider", 75 "../../../services/audio_service:audio_common", 76 "../audioeffect:audio_effect", 77 "../audioschedule:audio_schedule", 78 "../audioutils:audio_utils", 79 "../audioclock:audio_clock", 80 ] 81 82 external_deps = [ 83 "bounds_checking_function:libsec_shared", 84 "c_utils:utils", 85 "data_share:datashare_common", 86 "data_share:datashare_consumer", 87 "drivers_interface_audio:libaudio_proxy_5.0", 88 "drivers_interface_bluetooth:hdi_audio_bluetooth_header", 89 "hdf_core:libhdf_ipc_adapter", 90 "hilog:libhilog", 91 "init:libbegetutil", 92 "ipc:ipc_single", 93 "media_foundation:media_monitor_client", 94 "media_foundation:media_monitor_common", 95 "os_account:os_account_innerkits", 96 "samgr:samgr_proxy", 97 ] 98 99 defines = [] 100 101 if (audio_framework_feature_file_io) { 102 defines += [ "FEATURE_FILE_IO" ] 103 } 104 if (audio_framework_feature_distributed_audio) { 105 sources += [ 106 "adapter/remote_device_manager.cpp", 107 "sink/remote_audio_render_sink.cpp", 108 "sink/remote_fast_audio_render_sink.cpp", 109 "sink/remote_offload_audio_render_sink.cpp", 110 "source/remote_audio_capture_source.cpp", 111 "source/remote_fast_audio_capture_source.cpp", 112 ] 113 external_deps += 114 [ "drivers_interface_distributed_audio:libdaudio_proxy_1.0" ] 115 defines += [ "FEATURE_DISTRIBUTE_AUDIO" ] 116 } 117 if (use_libfuzzer || use_clang_coverage) { 118 defines += [ "TEST_COVERAGE" ] 119 } 120 if (audio_framework_feature_power_manager) { 121 sources += [ "util/audio_running_lock.cpp" ] 122 external_deps += [ "power_manager:powermgr_client" ] 123 defines += [ "FEATURE_POWER_MANAGER" ] 124 } 125 126 part_name = "audio_framework" 127 subsystem_name = "multimedia" 128 version_script = "libhdiadapter_new.versionscript" 129} 130 131ohos_executable("hdi_monitor_test") { 132 install_enable = false 133 cflags = [ 134 "-Wall", 135 "-Werror", 136 "-fno-access-control", 137 ] 138 139 sanitize = { 140 cfi = true 141 cfi_cross_dso = true 142 debug = false 143 integer_overflow = true 144 ubsan = true 145 boundary_sanitize = true 146 } 147 148 include_dirs = [ 149 "include", 150 "../../../interfaces/inner_api/native/audiocommon/include", 151 "../../../frameworks/native/hdiadapter_new/include/sink", 152 ] 153 154 sources = [ "test/unittest/hdi_monitor_test.cpp" ] 155 156 deps = [ ":hdiadapter_new" ] 157 part_name = "audio_framework" 158 subsystem_name = "multimedia" 159} 160 161ohos_unittest("hdiadapter_unit_test") { 162 module_out_path = "audio_framework/audio_framework_route/hdiadapter_new" 163 164 cflags = [ 165 "-Wall", 166 "-Werror", 167 "-fno-access-control", 168 ] 169 170 include_dirs = [ 171 "include", 172 "../../../interfaces/inner_api/native/audiocommon/include", 173 "../audioutils/include", 174 "../../../frameworks/native/hdiadapter_new/include/sink", 175 ] 176 177 sources = [ 178 "test/unittest/adapter_unit_test.cpp", 179 "test/unittest/manager_unit_test.cpp", 180 "test/unittest/sink/audio_render_sink_unit_test.cpp", 181 "test/unittest/sink/bluetooth_audio_render_sink_unit_test.cpp", 182 "test/unittest/sink/direct_audio_render_sink_unit_test.cpp", 183 "test/unittest/sink/fast_audio_render_sink_unit_test.cpp", 184 "test/unittest/sink/file_audio_render_sink_unit_test.cpp", 185 "test/unittest/sink/multichannel_audio_render_sink_unit_test.cpp", 186 "test/unittest/sink/offload_audio_render_sink_unit_test.cpp", 187 "test/unittest/sink/remote_audio_render_sink_unit_test.cpp", 188 "test/unittest/sink/remote_fast_audio_render_sink_unit_test.cpp", 189 "test/unittest/sink/remote_offload_audio_render_sink_unit_test.cpp", 190 "test/unittest/source/audio_capture_source_unit_test.cpp", 191 "test/unittest/source/bluetooth_audio_capture_source_unit_test.cpp", 192 "test/unittest/source/fast_audio_capture_source_unit_test.cpp", 193 "test/unittest/source/file_audio_capture_source_unit_test.cpp", 194 "test/unittest/source/remote_audio_capture_source_unit_test.cpp", 195 "test/unittest/source/remote_fast_audio_capture_source_unit_test.cpp", 196 "test/unittest/source/wakeup_audio_capture_source_unit_test.cpp", 197 "test/unittest/util_unit_test.cpp", 198 ] 199 200 deps = [ ":hdiadapter_new" ] 201 202 external_deps = [ 203 "drivers_interface_audio:libaudio_proxy_5.0", 204 "googletest:gmock", 205 "googletest:gtest", 206 ] 207 208 part_name = "audio_framework" 209 subsystem_name = "multimedia" 210} 211