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