• 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_dir = "//third_party/pulseaudio"
19
20config("audio_renderer_config") {
21  include_dirs = [
22    "./include",
23    "../audiostream/include",
24    "../../../interfaces/inner_api/native/audiorenderer/include",
25    "../../../interfaces/inner_api/native/audiocommon/include",
26    "../../../interfaces/inner_api/native/audiomanager/include",
27    "../../../services/audio_service/client/include",
28    "../../../services/audio_service/test/example",
29    "$pulseaudio_dir/src",
30    "$pulseaudio_dir/confgure/src",
31  ]
32
33  cflags = [
34    "-Wall",
35    "-Werror",
36  ]
37}
38
39ohos_shared_library("audio_renderer") {
40  sanitize = {
41    cfi = true
42    cfi_cross_dso = true
43    debug = false
44    blocklist = "../../../cfi_blocklist.txt"
45  }
46  install_enable = true
47
48  configs = [ ":audio_renderer_config" ]
49
50  include_dirs = audio_gateway_include_dirs
51
52  include_dirs += [ multimedia_audio_framework_pulse_audio ]
53
54  sources = [
55    "src/audio_renderer.cpp",
56    "src/audio_renderer_proxy_obj.cpp",
57  ]
58
59  deps = [
60    "../../../services/audio_policy:audio_policy_client",
61    "../../../services/audio_service:audio_client",
62    "../audioutils:audio_utils",
63  ]
64
65  deps += audio_renderer_gateway_deps
66
67  public_configs = [ ":audio_external_library_config" ]
68
69  external_deps = [
70    "c_utils:utils",
71    "hilog:libhilog",
72    "ipc:ipc_single",
73  ]
74
75  version_script = "../../../audio_framework.versionscript"
76  innerapi_tags = [ "platformsdk" ]
77
78  part_name = "audio_framework"
79  subsystem_name = "multimedia"
80}
81
82config("audio_external_library_config") {
83  include_dirs =
84      [ "../../../interfaces/inner_api/native/audiorenderer/include" ]
85}
86
87group("audio_renderer_test_packages") {
88  deps = [
89    ":audio_interrupt_test",
90    ":audio_latency_accuracy_test",
91    ":audio_render_mode_callback_test",
92    ":audio_renderer_test",
93    ":audio_voip_test",
94    ":interrupt_multi_renderer_test",
95  ]
96}
97
98ohos_executable("audio_renderer_test") {
99  install_enable = false
100
101  sources = [ "test/example/audio_renderer_test.cpp" ]
102
103  configs = [ ":audio_renderer_config" ]
104
105  deps = [ ":audio_renderer" ]
106
107  external_deps = [ "hilog:libhilog" ]
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 = [ "hilog:libhilog" ]
124
125  part_name = "audio_framework"
126  subsystem_name = "multimedia"
127}
128
129ohos_executable("audio_render_mode_callback_test") {
130  install_enable = false
131
132  sources = [ "test/example/audio_render_mode_callback_test.cpp" ]
133
134  configs = [ ":audio_renderer_config" ]
135
136  deps = [ ":audio_renderer" ]
137
138  external_deps = [ "hilog:libhilog" ]
139
140  part_name = "audio_framework"
141  subsystem_name = "multimedia"
142}
143
144ohos_executable("audio_voip_test") {
145  install_enable = false
146
147  sources = [ "test/example/audio_voip_test.cpp" ]
148
149  include_dirs = [
150    "./include",
151    "../audiostream/include",
152    "../audiocapturer/include",
153    "../../../interfaces/inner_api/native/audiocapturer/include",
154    "../../../interfaces/inner_api/native/audiocommon/include",
155    "../../../interfaces/inner_api/native/audiorenderer/include",
156    "../../../services/audio_service/client/include",
157    "$pulseaudio_dir/src",
158    "$pulseaudio_dir/confgure/src",
159  ]
160
161  cflags = [
162    "-Wall",
163    "-Werror",
164  ]
165
166  configs = [ ":audio_renderer_config" ]
167
168  deps = [
169    ":audio_renderer",
170    "../audiocapturer:audio_capturer",
171  ]
172
173  external_deps = [ "hilog:libhilog" ]
174
175  part_name = "audio_framework"
176  subsystem_name = "multimedia"
177}
178
179ohos_executable("audio_interrupt_test") {
180  install_enable = false
181
182  sources = [ "test/example/audio_interrupt_test.cpp" ]
183
184  configs = [ ":audio_renderer_config" ]
185
186  deps = [
187    ":audio_renderer",
188    "../../../services/audio_service:audio_client",
189  ]
190
191  external_deps = [ "hilog:libhilog" ]
192
193  part_name = "audio_framework"
194  subsystem_name = "multimedia"
195}
196
197ohos_executable("interrupt_multi_renderer_test") {
198  install_enable = false
199
200  sources = [ "test/example/interrupt_multi_renderer_test.cpp" ]
201
202  configs = [ ":audio_renderer_config" ]
203
204  deps = [ ":audio_renderer" ]
205
206  external_deps = [ "hilog:libhilog" ]
207
208  part_name = "audio_framework"
209  subsystem_name = "multimedia"
210}
211