• 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/src/service/device/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    "../audioutils:audio_utils",
57  ]
58  external_deps = [
59    "c_utils:utils",
60    "eventhandler:libeventhandler",
61    "hilog:libhilog",
62    "ipc:ipc_single",
63    "media_foundation:media_monitor_client",
64    "media_foundation:media_monitor_common",
65    "samgr:samgr_proxy",
66  ]
67
68  public_configs = [ ":audio_external_library_config" ]
69
70  version_script = "../../../audio_framework.versionscript"
71  innerapi_tags = [ "platformsdk" ]
72
73  part_name = "audio_framework"
74  subsystem_name = "multimedia"
75}
76
77config("audio_external_library_config") {
78  include_dirs =
79      [ "../../../interfaces/inner_api/native/audiorenderer/include" ]
80}
81
82group("audio_renderer_test_packages") {
83  deps = [
84    ":audio_interrupt_test",
85    ":audio_latency_accuracy_test",
86    ":audio_render_mode_callback_test",
87    ":audio_renderer_test",
88    ":audio_voip_test",
89    ":interrupt_multi_renderer_test",
90  ]
91}
92
93ohos_executable("audio_renderer_test") {
94  install_enable = false
95
96  sources = [ "test/example/audio_renderer_test.cpp" ]
97
98  configs = [ ":audio_renderer_config" ]
99
100  deps = [ ":audio_renderer" ]
101
102  external_deps = [ "hilog:libhilog" ]
103
104  part_name = "audio_framework"
105  subsystem_name = "multimedia"
106}
107
108ohos_executable("audio_latency_accuracy_test") {
109  install_enable = false
110
111  sources = [ "test/example/audio_renderer_test.cpp" ]
112
113  configs = [ ":audio_renderer_config" ]
114  cflags = [ "-DLATENCY_ACCURACY_TEST" ]
115
116  deps = [ ":audio_renderer" ]
117
118  external_deps = [ "hilog:libhilog" ]
119
120  part_name = "audio_framework"
121  subsystem_name = "multimedia"
122}
123
124ohos_executable("audio_render_mode_callback_test") {
125  install_enable = false
126
127  sources = [ "test/example/audio_render_mode_callback_test.cpp" ]
128
129  configs = [ ":audio_renderer_config" ]
130
131  deps = [ ":audio_renderer" ]
132
133  external_deps = [ "hilog:libhilog" ]
134
135  part_name = "audio_framework"
136  subsystem_name = "multimedia"
137}
138
139ohos_executable("audio_voip_test") {
140  install_enable = false
141
142  sources = [ "test/example/audio_voip_test.cpp" ]
143
144  include_dirs = [
145    "./include",
146    "../audiostream/include",
147    "../audiocapturer/include",
148    "../../../interfaces/inner_api/native/audiocapturer/include",
149    "../../../interfaces/inner_api/native/audiocommon/include",
150    "../../../interfaces/inner_api/native/audiorenderer/include",
151    "../../../services/audio_service/client/include",
152  ]
153
154  cflags = [
155    "-Wall",
156    "-Werror",
157  ]
158
159  configs = [ ":audio_renderer_config" ]
160
161  deps = [
162    ":audio_renderer",
163    "../audiocapturer:audio_capturer",
164  ]
165
166  external_deps = [
167    "hilog:libhilog",
168    "pulseaudio:pulse",
169  ]
170
171  part_name = "audio_framework"
172  subsystem_name = "multimedia"
173}
174
175ohos_executable("audio_interrupt_test") {
176  install_enable = false
177
178  sources = [ "test/example/audio_interrupt_test.cpp" ]
179
180  configs = [ ":audio_renderer_config" ]
181
182  deps = [ ":audio_renderer" ]
183
184  external_deps = [ "hilog:libhilog" ]
185
186  part_name = "audio_framework"
187  subsystem_name = "multimedia"
188}
189
190ohos_executable("interrupt_multi_renderer_test") {
191  install_enable = false
192
193  sources = [ "test/example/interrupt_multi_renderer_test.cpp" ]
194
195  configs = [ ":audio_renderer_config" ]
196
197  deps = [ ":audio_renderer" ]
198
199  external_deps = [ "hilog:libhilog" ]
200
201  part_name = "audio_framework"
202  subsystem_name = "multimedia"
203}
204
205ohos_executable("audio_blendmode_test") {
206  install_enable = false
207
208  sources = [ "test/example/audio_blendmode_test.cpp" ]
209
210  configs = [ ":audio_renderer_config" ]
211
212  deps = [ ":audio_renderer" ]
213
214  external_deps = [
215    "bounds_checking_function:libsec_shared",
216    "c_utils:utils",
217    "hilog:libhilog",
218    "ipc:ipc_single",
219    "ipc:ipc_single",
220    "pulseaudio:pulse",
221    "safwk:system_ability_fwk",
222  ]
223
224  part_name = "audio_framework"
225  subsystem_name = "multimedia"
226}
227