• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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("../../../config.gni")
16
17config("audio_renderer_config") {
18  include_dirs = [
19    "./include",
20    "../audiostream/include",
21    "../../../interfaces/inner_api/native/audiorenderer/include",
22    "../../../interfaces/inner_api/native/audiocommon/include",
23    "../../../interfaces/inner_api/native/audiomanager/include",
24    "../../../services/audio_service/client/include",
25    "../../../services/audio_service/test/example",
26  ]
27  cflags = [
28    "-Wall",
29    "-Werror",
30  ]
31  if (sonic_enable == true) {
32    cflags += [ "-DSONIC_ENABLE" ]
33  }
34}
35
36ohos_shared_library("audio_renderer") {
37  branch_protector_ret = "pac_ret"
38  install_enable = true
39
40  configs = [ ":audio_renderer_config" ]
41
42  sources = [
43    "../../../services/audio_policy/server/domain/device/src/audio_device_descriptor.cpp",
44    "src/audio_renderer.cpp",
45    "src/audio_renderer_proxy_obj.cpp",
46  ]
47
48  defines = []
49  if (audio_framework_feature_low_latency) {
50    defines += [ "SUPPORT_LOW_LATENCY" ]
51  }
52
53  deps = [
54    "../../../services/audio_policy:audio_policy_client",
55    "../../../services/audio_service:audio_client",
56    "../../../services/audio_service:audio_common",
57    "../audiodefinitions:audio_definitions",
58    "../audioutils:audio_utils",
59  ]
60  external_deps = [
61    "c_utils:utils",
62    "eventhandler:libeventhandler",
63    "hilog:libhilog",
64    "ipc:ipc_single",
65    "media_foundation:media_monitor_client",
66    "media_foundation:media_monitor_common",
67    "samgr:samgr_proxy",
68  ]
69
70  public_configs = [ ":audio_external_library_config" ]
71
72  version_script = "../../../audio_framework.versionscript"
73  innerapi_tags = [ "platformsdk" ]
74
75  part_name = "audio_framework"
76  subsystem_name = "multimedia"
77}
78
79config("audio_external_library_config") {
80  include_dirs =
81      [ "../../../interfaces/inner_api/native/audiorenderer/include" ]
82}
83
84group("audio_renderer_test_packages") {
85  deps = [
86    ":audio_interrupt_test",
87    ":audio_latency_accuracy_test",
88    ":audio_render_mode_callback_test",
89    ":audio_renderer_test",
90    ":audio_voip_test",
91    ":interrupt_multi_renderer_test",
92  ]
93}
94
95ohos_executable("audio_renderer_test") {
96  install_enable = false
97
98  sources = [ "test/example/audio_renderer_test.cpp" ]
99
100  configs = [ ":audio_renderer_config" ]
101
102  deps = [ ":audio_renderer" ]
103
104  external_deps = [
105    "c_utils:utils",
106    "hilog:libhilog",
107  ]
108
109  part_name = "audio_framework"
110  subsystem_name = "multimedia"
111}
112
113ohos_executable("audio_latency_accuracy_test") {
114  install_enable = false
115
116  sources = [ "test/example/audio_renderer_test.cpp" ]
117
118  configs = [ ":audio_renderer_config" ]
119  cflags = [ "-DLATENCY_ACCURACY_TEST" ]
120
121  deps = [ ":audio_renderer" ]
122
123  external_deps = [
124    "c_utils:utils",
125    "hilog:libhilog",
126  ]
127
128  part_name = "audio_framework"
129  subsystem_name = "multimedia"
130}
131
132ohos_executable("audio_render_mode_callback_test") {
133  install_enable = false
134
135  sources = [ "test/example/audio_render_mode_callback_test.cpp" ]
136
137  configs = [ ":audio_renderer_config" ]
138
139  deps = [ ":audio_renderer" ]
140
141  external_deps = [
142    "c_utils:utils",
143    "hilog:libhilog",
144  ]
145
146  part_name = "audio_framework"
147  subsystem_name = "multimedia"
148}
149
150ohos_executable("audio_voip_test") {
151  install_enable = false
152
153  sources = [ "test/example/audio_voip_test.cpp" ]
154
155  include_dirs = [
156    "./include",
157    "../audiostream/include",
158    "../audiocapturer/include",
159    "../../../interfaces/inner_api/native/audiocapturer/include",
160    "../../../interfaces/inner_api/native/audiocommon/include",
161    "../../../interfaces/inner_api/native/audiorenderer/include",
162    "../../../services/audio_service/client/include",
163  ]
164
165  cflags = [
166    "-Wall",
167    "-Werror",
168  ]
169
170  configs = [ ":audio_renderer_config" ]
171
172  deps = [
173    ":audio_renderer",
174    "../audiocapturer:audio_capturer",
175  ]
176
177  external_deps = [
178    "c_utils:utils",
179    "hilog:libhilog",
180  ]
181
182  part_name = "audio_framework"
183  subsystem_name = "multimedia"
184}
185
186ohos_executable("audio_interrupt_test") {
187  install_enable = false
188
189  sources = [ "test/example/audio_interrupt_test.cpp" ]
190
191  configs = [ ":audio_renderer_config" ]
192
193  deps = [ ":audio_renderer" ]
194
195  external_deps = [
196    "c_utils:utils",
197    "hilog:libhilog",
198  ]
199
200  part_name = "audio_framework"
201  subsystem_name = "multimedia"
202}
203
204ohos_executable("interrupt_multi_renderer_test") {
205  install_enable = false
206
207  sources = [ "test/example/interrupt_multi_renderer_test.cpp" ]
208
209  configs = [ ":audio_renderer_config" ]
210
211  deps = [ ":audio_renderer" ]
212
213  external_deps = [
214    "c_utils:utils",
215    "hilog:libhilog",
216  ]
217
218  part_name = "audio_framework"
219  subsystem_name = "multimedia"
220}
221
222ohos_executable("audio_blendmode_test") {
223  install_enable = false
224
225  sources = [ "test/example/audio_blendmode_test.cpp" ]
226
227  configs = [ ":audio_renderer_config" ]
228
229  deps = [ ":audio_renderer" ]
230
231  external_deps = [
232    "bounds_checking_function:libsec_shared",
233    "c_utils:utils",
234    "hilog:libhilog",
235    "ipc:ipc_single",
236    "ipc:ipc_single",
237    "safwk:system_ability_fwk",
238  ]
239
240  part_name = "audio_framework"
241  subsystem_name = "multimedia"
242}
243