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