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