• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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