blob: 6881f427506be63078a81dfa44abe64b27edc6bf [file] [log] [blame]
Steven Moreland25a9e552017-04-17 14:30:39 -07001cc_library_headers {
2 name: "libaudioclient_headers",
3 vendor_available: true,
Jooyung Hane3cf41a2020-04-30 04:22:22 +09004 min_sdk_version: "29",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -07005 host_supported: true,
Jooyung Hane3cf41a2020-04-30 04:22:22 +09006
jiabin43810402019-10-24 14:58:31 -07007 header_libs: [
8 "libaudiofoundation_headers",
9 ],
10 export_include_dirs: [
11 "include",
12 ],
13 export_header_lib_headers: [
14 "libaudiofoundation_headers",
15 ],
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -070016 static_libs: [
17 "audioflinger-aidl-unstable-cpp",
18 ],
19 export_static_lib_headers: [
20 "audioflinger-aidl-unstable-cpp",
21 ],
S Vasudev Prasad43a18892020-05-09 12:52:58 +053022 target: {
23 darwin: {
24 enabled: false,
25 },
26 },
Steven Moreland25a9e552017-04-17 14:30:39 -070027}
28
Jack Hed92d34e2016-12-08 15:44:14 -080029cc_library_shared {
François Gaffied0ba9ed2018-11-05 11:50:42 +010030 name: "libaudiopolicy",
31 srcs: [
32 "AudioAttributes.cpp",
33 "AudioPolicy.cpp",
34 "AudioProductStrategy.cpp",
François Gaffie4b2018b2018-11-07 11:18:59 +010035 "AudioVolumeGroup.cpp",
François Gaffied0ba9ed2018-11-05 11:50:42 +010036 ],
37 shared_libs: [
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -070038 "audioflinger-aidl-unstable-cpp",
Ytai Ben-Tsvi987d12c2020-03-24 17:35:44 -070039 "capture_state_listener-aidl-cpp",
jiabin05b5edd2019-11-04 14:10:42 -080040 "libaudiofoundation",
François Gaffied0ba9ed2018-11-05 11:50:42 +010041 "libaudioutils",
42 "libbinder",
43 "libcutils",
44 "liblog",
45 "libutils",
46 ],
47 cflags: [
48 "-Werror",
49 "-Wall",
50 ],
51 include_dirs: ["system/media/audio_utils/include"],
52 export_include_dirs: ["include"],
Ytai Ben-Tsvi987d12c2020-03-24 17:35:44 -070053 export_shared_lib_headers: [
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -070054 "audioflinger-aidl-unstable-cpp",
Ytai Ben-Tsvi987d12c2020-03-24 17:35:44 -070055 "capture_state_listener-aidl-cpp",
56 ],
François Gaffied0ba9ed2018-11-05 11:50:42 +010057}
58
59cc_library_shared {
Jack Hed92d34e2016-12-08 15:44:14 -080060 name: "libaudioclient",
Ivan Lozanoff6900d2017-08-01 15:47:38 -070061
62 aidl: {
63 export_aidl_headers: true,
64 local_include_dirs: ["aidl"],
65 include_dirs: [
66 "frameworks/av/media/libaudioclient/aidl",
67 ],
68 },
69
Jack Hed92d34e2016-12-08 15:44:14 -080070 srcs: [
Ivan Lozanoff6900d2017-08-01 15:47:38 -070071 // AIDL files for audioclient interfaces
72 // The headers for these interfaces will be available to any modules that
73 // include libaudioclient, at the path "aidl/package/path/BnFoo.h"
Dan Willemsenfaeab0f2018-09-14 21:17:46 -070074 ":libaudioclient_aidl_private",
Colin Cross6bf135b2017-11-14 13:05:37 -080075 ":libaudioclient_aidl",
Ivan Lozanoff6900d2017-08-01 15:47:38 -070076
Jack Hed92d34e2016-12-08 15:44:14 -080077 "AudioEffect.cpp",
Jack Hed92d34e2016-12-08 15:44:14 -080078 "AudioRecord.cpp",
79 "AudioSystem.cpp",
80 "AudioTrack.cpp",
81 "AudioTrackShared.cpp",
82 "IAudioFlinger.cpp",
Jack Hed92d34e2016-12-08 15:44:14 -080083 "IAudioPolicyService.cpp",
84 "IAudioPolicyServiceClient.cpp",
Jack Hed92d34e2016-12-08 15:44:14 -080085 "IAudioTrack.cpp",
Jack Hed92d34e2016-12-08 15:44:14 -080086 "ToneGenerator.cpp",
Eric Laurentb5323222017-05-31 15:01:56 -070087 "PlayerBase.cpp",
Mikhail Naganov2996f672019-04-18 12:29:59 -070088 "RecordingActivityTracker.cpp",
Eric Laurentb5323222017-05-31 15:01:56 -070089 "TrackPlayerBase.cpp",
Jack Hed92d34e2016-12-08 15:44:14 -080090 ],
91 shared_libs: [
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -080092 "audioclient-types-aidl-unstable-cpp",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -070093 "audioflinger-aidl-unstable-cpp",
Ytai Ben-Tsvi85093d52020-03-26 09:41:15 -070094 "capture_state_listener-aidl-cpp",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -070095 "libaudioclient_aidl_conversion",
jiabin43810402019-10-24 14:58:31 -070096 "libaudiofoundation",
Kevin Rocard07be14f2018-01-24 06:14:03 +000097 "libaudioutils",
François Gaffied0ba9ed2018-11-05 11:50:42 +010098 "libaudiopolicy",
Eric Laurentb5323222017-05-31 15:01:56 -070099 "libaudiomanager",
Eric Tanace588c2018-09-12 11:44:43 -0700100 "libbinder",
101 "libcutils",
102 "libdl",
103 "liblog",
Ray Essicked304702017-12-12 14:00:57 -0800104 "libmedia_helper",
105 "libmediametrics",
Andy Hung4ef19fa2018-05-15 19:35:29 -0700106 "libmediautils",
Eric Tanace588c2018-09-12 11:44:43 -0700107 "libnblog",
Suren Baghdasaryan7435e7d2018-12-19 17:09:28 -0800108 "libprocessgroup",
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700109 "libshmemcompat",
Eric Tanace588c2018-09-12 11:44:43 -0700110 "libutils",
jiabinbf6b0ec2019-02-12 12:30:12 -0800111 "libvibrator",
Jack Hed92d34e2016-12-08 15:44:14 -0800112 ],
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700113 export_shared_lib_headers: [
114 "audioflinger-aidl-unstable-cpp",
115 "libbinder",
116 ],
Steven Moreland25a9e552017-04-17 14:30:39 -0700117
Marco Nelissena51151a2020-01-07 13:37:47 -0800118 include_dirs: [
119 "frameworks/av/media/libnbaio/include_mono/",
120 ],
121 local_include_dirs: [
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700122 "include/media",
123 "aidl",
Marco Nelissena51151a2020-01-07 13:37:47 -0800124 ],
Chih-Hung Hsiehffe35582018-09-13 13:59:28 -0700125 header_libs: [
126 "libaudioclient_headers",
127 "libbase_headers",
Marco Nelissen6b285942019-10-21 14:52:30 -0700128 "libmedia_headers",
Chih-Hung Hsiehffe35582018-09-13 13:59:28 -0700129 ],
Steven Moreland25a9e552017-04-17 14:30:39 -0700130 export_header_lib_headers: ["libaudioclient_headers"],
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700131 export_static_lib_headers: [
132 "effect-aidl-cpp",
Jeongik Chabde90a42020-08-29 02:09:08 +0900133 "shared-file-region-aidl-unstable-cpp",
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700134 ],
Steven Moreland25a9e552017-04-17 14:30:39 -0700135
Jack Hed92d34e2016-12-08 15:44:14 -0800136 static_libs: [
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700137 "effect-aidl-cpp",
138 // for memory heap analysis
Jack Hed92d34e2016-12-08 15:44:14 -0800139 "libc_malloc_debug_backtrace",
Jeongik Chabde90a42020-08-29 02:09:08 +0900140 "shared-file-region-aidl-unstable-cpp",
Jack Hed92d34e2016-12-08 15:44:14 -0800141 ],
142 cflags: [
Steven Moreland25a9e552017-04-17 14:30:39 -0700143 "-Wall",
Jack Hed92d34e2016-12-08 15:44:14 -0800144 "-Werror",
145 "-Wno-error=deprecated-declarations",
Jack Hed92d34e2016-12-08 15:44:14 -0800146 ],
147 sanitize: {
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700148 misc_undefined: [
Jack Hed92d34e2016-12-08 15:44:14 -0800149 "unsigned-integer-overflow",
150 "signed-integer-overflow",
151 ],
152 },
153}
Colin Cross6bf135b2017-11-14 13:05:37 -0800154
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700155cc_library_shared {
156 name: "libaudioclient_aidl_conversion",
157 srcs: ["AidlConversion.cpp"],
158 local_include_dirs: ["include"],
159 shared_libs: [
160 "audioclient-types-aidl-unstable-cpp",
161 "libbase",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800162 "libbinder",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700163 "liblog",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800164 "libshmemcompat",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700165 "libutils",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800166 "shared-file-region-aidl-unstable-cpp",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700167 ],
168 export_shared_lib_headers: [
169 "audioclient-types-aidl-unstable-cpp",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800170 "libbase",
171 "shared-file-region-aidl-unstable-cpp",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700172 ],
173 cflags: [
174 "-Wall",
175 "-Werror",
176 "-Wno-error=deprecated-declarations",
177 ],
178 sanitize: {
179 misc_undefined: [
180 "unsigned-integer-overflow",
181 "signed-integer-overflow",
182 ],
183 },
184}
185
Colin Cross6bf135b2017-11-14 13:05:37 -0800186// AIDL interface between libaudioclient and framework.jar
187filegroup {
188 name: "libaudioclient_aidl",
189 srcs: [
190 "aidl/android/media/IPlayer.aidl",
191 ],
Dan Willemsenfaeab0f2018-09-14 21:17:46 -0700192 path: "aidl",
193}
194
195// Used to strip the "aidl/" from the path, so the build system can predict the
196// output filename.
197filegroup {
198 name: "libaudioclient_aidl_private",
199 srcs: [
200 "aidl/android/media/IAudioRecord.aidl",
201 ],
202 path: "aidl",
Colin Cross6bf135b2017-11-14 13:05:37 -0800203}
jiabinf6eb4c32020-02-25 14:06:25 -0800204
Ytai Ben-Tsvi987d12c2020-03-24 17:35:44 -0700205aidl_interface {
206 name: "capture_state_listener-aidl",
Jiyong Park1f2151f2020-04-13 12:52:14 +0900207 unstable: true,
Ytai Ben-Tsvi987d12c2020-03-24 17:35:44 -0700208 local_include_dir: "aidl",
209 srcs: [
210 "aidl/android/media/ICaptureStateListener.aidl",
211 ],
212}
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700213
214aidl_interface {
215 name: "effect-aidl",
216 unstable: true,
217 local_include_dir: "aidl",
218 srcs: [
219 "aidl/android/media/IEffect.aidl",
220 "aidl/android/media/IEffectClient.aidl",
221 ],
222 imports: [
223 "shared-file-region-aidl",
224 ],
225}
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700226
227aidl_interface {
228 name: "audioclient-types-aidl",
229 unstable: true,
230 host_supported: true,
231 vendor_available: true,
232 double_loadable: true,
233 local_include_dir: "aidl",
234 srcs: [
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800235 "aidl/android/media/AudioAttributesInternal.aidl",
236 "aidl/android/media/AudioClient.aidl",
237 "aidl/android/media/AudioConfig.aidl",
238 "aidl/android/media/AudioConfigBase.aidl",
239 "aidl/android/media/AudioContentType.aidl",
240 "aidl/android/media/AudioEncapsulationMode.aidl",
241 "aidl/android/media/AudioFlag.aidl",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700242 "aidl/android/media/AudioGainConfig.aidl",
243 "aidl/android/media/AudioGainMode.aidl",
244 "aidl/android/media/AudioInputFlags.aidl",
245 "aidl/android/media/AudioIoConfigEvent.aidl",
246 "aidl/android/media/AudioIoDescriptor.aidl",
247 "aidl/android/media/AudioIoFlags.aidl",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800248 "aidl/android/media/AudioOffloadInfo.aidl",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700249 "aidl/android/media/AudioOutputFlags.aidl",
250 "aidl/android/media/AudioPatch.aidl",
251 "aidl/android/media/AudioPortConfig.aidl",
252 "aidl/android/media/AudioPortConfigType.aidl",
253 "aidl/android/media/AudioPortConfigDeviceExt.aidl",
254 "aidl/android/media/AudioPortConfigExt.aidl",
255 "aidl/android/media/AudioPortConfigMixExt.aidl",
256 "aidl/android/media/AudioPortConfigMixExtUseCase.aidl",
257 "aidl/android/media/AudioPortConfigSessionExt.aidl",
258 "aidl/android/media/AudioPortRole.aidl",
259 "aidl/android/media/AudioPortType.aidl",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700260 "aidl/android/media/AudioSourceType.aidl",
261 "aidl/android/media/AudioStreamType.aidl",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800262 "aidl/android/media/AudioUsage.aidl",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700263 ],
264 imports: [
265 "audio_common-aidl",
266 ],
267}
268
269aidl_interface {
270 name: "audioflinger-aidl",
271 unstable: true,
272 local_include_dir: "aidl",
273 host_supported: true,
274 vendor_available: true,
275 srcs: [
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800276 "aidl/android/media/CreateRecordRequest.aidl",
277 "aidl/android/media/CreateRecordResponse.aidl",
278 "aidl/android/media/CreateTrackRequest.aidl",
279 "aidl/android/media/CreateTrackResponse.aidl",
280
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700281 "aidl/android/media/IAudioFlingerClient.aidl",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800282 "aidl/android/media/IAudioTrackCallback.aidl",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700283 ],
284 imports: [
285 "audioclient-types-aidl",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800286 "shared-file-region-aidl",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700287 ],
288 double_loadable: true,
289 backend: {
290 cpp: {
291 min_sdk_version: "29",
292 apex_available: [
293 "//apex_available:platform",
294 "com.android.media",
295 ],
296 },
297 },
298}