blob: 64ec1454646ff884856f25a9798025b3f80cc775 [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",
Ytai Ben-Tsvif0658f42020-10-26 11:51:14 -070018 "av-types-aidl-unstable-cpp",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -070019 ],
20 export_static_lib_headers: [
21 "audioflinger-aidl-unstable-cpp",
Ytai Ben-Tsvif0658f42020-10-26 11:51:14 -070022 "av-types-aidl-unstable-cpp",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -070023 ],
S Vasudev Prasad43a18892020-05-09 12:52:58 +053024 target: {
25 darwin: {
26 enabled: false,
27 },
28 },
Steven Moreland25a9e552017-04-17 14:30:39 -070029}
30
Jack Hed92d34e2016-12-08 15:44:14 -080031cc_library_shared {
François Gaffied0ba9ed2018-11-05 11:50:42 +010032 name: "libaudiopolicy",
33 srcs: [
34 "AudioAttributes.cpp",
35 "AudioPolicy.cpp",
36 "AudioProductStrategy.cpp",
François Gaffie4b2018b2018-11-07 11:18:59 +010037 "AudioVolumeGroup.cpp",
François Gaffied0ba9ed2018-11-05 11:50:42 +010038 ],
39 shared_libs: [
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -070040 "audioflinger-aidl-unstable-cpp",
Ytai Ben-Tsvi987d12c2020-03-24 17:35:44 -070041 "capture_state_listener-aidl-cpp",
jiabin05b5edd2019-11-04 14:10:42 -080042 "libaudiofoundation",
François Gaffied0ba9ed2018-11-05 11:50:42 +010043 "libaudioutils",
44 "libbinder",
45 "libcutils",
46 "liblog",
47 "libutils",
48 ],
49 cflags: [
50 "-Werror",
51 "-Wall",
52 ],
53 include_dirs: ["system/media/audio_utils/include"],
54 export_include_dirs: ["include"],
Ytai Ben-Tsvi987d12c2020-03-24 17:35:44 -070055 export_shared_lib_headers: [
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -070056 "audioflinger-aidl-unstable-cpp",
Ytai Ben-Tsvi987d12c2020-03-24 17:35:44 -070057 "capture_state_listener-aidl-cpp",
58 ],
François Gaffied0ba9ed2018-11-05 11:50:42 +010059}
60
61cc_library_shared {
Jack Hed92d34e2016-12-08 15:44:14 -080062 name: "libaudioclient",
Ivan Lozanoff6900d2017-08-01 15:47:38 -070063
64 aidl: {
65 export_aidl_headers: true,
66 local_include_dirs: ["aidl"],
67 include_dirs: [
Ytai Ben-Tsvif0658f42020-10-26 11:51:14 -070068 "frameworks/av/aidl",
Ivan Lozanoff6900d2017-08-01 15:47:38 -070069 ],
70 },
71
Jack Hed92d34e2016-12-08 15:44:14 -080072 srcs: [
Ivan Lozanoff6900d2017-08-01 15:47:38 -070073 // AIDL files for audioclient interfaces
74 // The headers for these interfaces will be available to any modules that
75 // include libaudioclient, at the path "aidl/package/path/BnFoo.h"
Colin Cross6bf135b2017-11-14 13:05:37 -080076 ":libaudioclient_aidl",
Ivan Lozanoff6900d2017-08-01 15:47:38 -070077
Jack Hed92d34e2016-12-08 15:44:14 -080078 "AudioEffect.cpp",
Jack Hed92d34e2016-12-08 15:44:14 -080079 "AudioRecord.cpp",
80 "AudioSystem.cpp",
81 "AudioTrack.cpp",
82 "AudioTrackShared.cpp",
83 "IAudioFlinger.cpp",
Jack Hed92d34e2016-12-08 15:44:14 -080084 "IAudioPolicyService.cpp",
85 "IAudioPolicyServiceClient.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-Tsvif0658f42020-10-26 11:51:14 -070094 "av-types-aidl-unstable-cpp",
Ytai Ben-Tsvi85093d52020-03-26 09:41:15 -070095 "capture_state_listener-aidl-cpp",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -070096 "libaudioclient_aidl_conversion",
jiabin43810402019-10-24 14:58:31 -070097 "libaudiofoundation",
Kevin Rocard07be14f2018-01-24 06:14:03 +000098 "libaudioutils",
François Gaffied0ba9ed2018-11-05 11:50:42 +010099 "libaudiopolicy",
Eric Laurentb5323222017-05-31 15:01:56 -0700100 "libaudiomanager",
Eric Tanace588c2018-09-12 11:44:43 -0700101 "libbinder",
102 "libcutils",
103 "libdl",
104 "liblog",
Ray Essicked304702017-12-12 14:00:57 -0800105 "libmedia_helper",
106 "libmediametrics",
Andy Hung4ef19fa2018-05-15 19:35:29 -0700107 "libmediautils",
Eric Tanace588c2018-09-12 11:44:43 -0700108 "libnblog",
Suren Baghdasaryan7435e7d2018-12-19 17:09:28 -0800109 "libprocessgroup",
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700110 "libshmemcompat",
Eric Tanace588c2018-09-12 11:44:43 -0700111 "libutils",
jiabinbf6b0ec2019-02-12 12:30:12 -0800112 "libvibrator",
Jack Hed92d34e2016-12-08 15:44:14 -0800113 ],
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700114 export_shared_lib_headers: [
115 "audioflinger-aidl-unstable-cpp",
116 "libbinder",
117 ],
Steven Moreland25a9e552017-04-17 14:30:39 -0700118
Marco Nelissena51151a2020-01-07 13:37:47 -0800119 include_dirs: [
120 "frameworks/av/media/libnbaio/include_mono/",
121 ],
122 local_include_dirs: [
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700123 "include/media",
124 "aidl",
Marco Nelissena51151a2020-01-07 13:37:47 -0800125 ],
Chih-Hung Hsiehffe35582018-09-13 13:59:28 -0700126 header_libs: [
127 "libaudioclient_headers",
128 "libbase_headers",
Marco Nelissen6b285942019-10-21 14:52:30 -0700129 "libmedia_headers",
Chih-Hung Hsiehffe35582018-09-13 13:59:28 -0700130 ],
Steven Moreland25a9e552017-04-17 14:30:39 -0700131 export_header_lib_headers: ["libaudioclient_headers"],
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700132 export_static_lib_headers: [
Ytai Ben-Tsvice182942020-11-04 14:48:01 -0800133 "effect-aidl-unstable-cpp",
Jeongik Chabde90a42020-08-29 02:09:08 +0900134 "shared-file-region-aidl-unstable-cpp",
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700135 ],
Steven Moreland25a9e552017-04-17 14:30:39 -0700136
Jack Hed92d34e2016-12-08 15:44:14 -0800137 static_libs: [
Ytai Ben-Tsvice182942020-11-04 14:48:01 -0800138 "effect-aidl-unstable-cpp",
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700139 // for memory heap analysis
Jack Hed92d34e2016-12-08 15:44:14 -0800140 "libc_malloc_debug_backtrace",
Jeongik Chabde90a42020-08-29 02:09:08 +0900141 "shared-file-region-aidl-unstable-cpp",
Jack Hed92d34e2016-12-08 15:44:14 -0800142 ],
143 cflags: [
Steven Moreland25a9e552017-04-17 14:30:39 -0700144 "-Wall",
Jack Hed92d34e2016-12-08 15:44:14 -0800145 "-Werror",
146 "-Wno-error=deprecated-declarations",
Jack Hed92d34e2016-12-08 15:44:14 -0800147 ],
148 sanitize: {
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700149 misc_undefined: [
Jack Hed92d34e2016-12-08 15:44:14 -0800150 "unsigned-integer-overflow",
151 "signed-integer-overflow",
152 ],
153 },
154}
Colin Cross6bf135b2017-11-14 13:05:37 -0800155
Ytai Ben-Tsvi643783e2020-11-18 14:04:15 -0800156// This is intended for clients needing to include AidlConversionUtil.h, without dragging in a lot of extra
157// dependencies.
158cc_library_headers {
159 name: "libaudioclient_aidl_conversion_util",
160 host_supported: true,
161 vendor_available: true,
162 double_loadable: true,
163 min_sdk_version: "29",
164 export_include_dirs: [
165 "include",
166 ],
167 header_libs: [
168 "libbase_headers",
169 ],
170 export_header_lib_headers: [
171 "libbase_headers",
172 ],
173 apex_available: [
174 "//apex_available:platform",
175 "com.android.bluetooth.updatable",
176 "com.android.media",
177 "com.android.media.swcodec",
178 ],
Ytai Ben-Tsvi8a9048f2020-11-30 14:19:26 -0800179 target: {
180 darwin: {
181 enabled: false,
182 },
183 },
Ytai Ben-Tsvi643783e2020-11-18 14:04:15 -0800184}
185
Ytai Ben-Tsvi71109da2020-11-03 15:11:13 -0800186cc_library {
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700187 name: "libaudioclient_aidl_conversion",
188 srcs: ["AidlConversion.cpp"],
Ytai Ben-Tsvi71109da2020-11-03 15:11:13 -0800189 export_include_dirs: ["include"],
190 host_supported: true,
191 vendor_available: true,
192 double_loadable: true,
193 min_sdk_version: "29",
Ytai Ben-Tsvi0ec99e32020-11-18 12:22:00 -0800194 header_libs: [
Ytai Ben-Tsvi643783e2020-11-18 14:04:15 -0800195 "libaudioclient_aidl_conversion_util",
Ytai Ben-Tsvi0ec99e32020-11-18 12:22:00 -0800196 "libaudio_system_headers",
197 ],
Ytai Ben-Tsvi643783e2020-11-18 14:04:15 -0800198 export_header_lib_headers: [
199 "libaudioclient_aidl_conversion_util",
200 ],
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700201 shared_libs: [
202 "audioclient-types-aidl-unstable-cpp",
203 "libbase",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800204 "libbinder",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700205 "liblog",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800206 "libshmemcompat",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700207 "libutils",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800208 "shared-file-region-aidl-unstable-cpp",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700209 ],
210 export_shared_lib_headers: [
211 "audioclient-types-aidl-unstable-cpp",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800212 "libbase",
213 "shared-file-region-aidl-unstable-cpp",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700214 ],
215 cflags: [
216 "-Wall",
217 "-Werror",
218 "-Wno-error=deprecated-declarations",
219 ],
220 sanitize: {
221 misc_undefined: [
222 "unsigned-integer-overflow",
223 "signed-integer-overflow",
224 ],
225 },
Ytai Ben-Tsvi8a9048f2020-11-30 14:19:26 -0800226 target: {
227 darwin: {
228 enabled: false,
229 },
230 },
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700231}
232
Colin Cross6bf135b2017-11-14 13:05:37 -0800233// AIDL interface between libaudioclient and framework.jar
234filegroup {
235 name: "libaudioclient_aidl",
236 srcs: [
237 "aidl/android/media/IPlayer.aidl",
238 ],
Dan Willemsenfaeab0f2018-09-14 21:17:46 -0700239 path: "aidl",
240}
241
Ytai Ben-Tsvi987d12c2020-03-24 17:35:44 -0700242aidl_interface {
243 name: "capture_state_listener-aidl",
Jiyong Park1f2151f2020-04-13 12:52:14 +0900244 unstable: true,
Ytai Ben-Tsvi987d12c2020-03-24 17:35:44 -0700245 local_include_dir: "aidl",
246 srcs: [
247 "aidl/android/media/ICaptureStateListener.aidl",
248 ],
249}
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700250
251aidl_interface {
252 name: "effect-aidl",
253 unstable: true,
254 local_include_dir: "aidl",
Ytai Ben-Tsvice182942020-11-04 14:48:01 -0800255 host_supported: true,
256 double_loadable: true,
257 vendor_available: true,
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700258 srcs: [
259 "aidl/android/media/IEffect.aidl",
260 "aidl/android/media/IEffectClient.aidl",
261 ],
262 imports: [
263 "shared-file-region-aidl",
264 ],
265}
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700266
267aidl_interface {
268 name: "audioclient-types-aidl",
269 unstable: true,
270 host_supported: true,
271 vendor_available: true,
272 double_loadable: true,
273 local_include_dir: "aidl",
274 srcs: [
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800275 "aidl/android/media/AudioAttributesInternal.aidl",
276 "aidl/android/media/AudioClient.aidl",
277 "aidl/android/media/AudioConfig.aidl",
278 "aidl/android/media/AudioConfigBase.aidl",
279 "aidl/android/media/AudioContentType.aidl",
Ytai Ben-Tsvice182942020-11-04 14:48:01 -0800280 "aidl/android/media/AudioDevice.aidl",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800281 "aidl/android/media/AudioEncapsulationMode.aidl",
Ytai Ben-Tsvi50e016a2020-11-12 14:26:12 -0800282 "aidl/android/media/AudioEncapsulationMetadataType.aidl",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800283 "aidl/android/media/AudioFlag.aidl",
Ytai Ben-Tsvi50e016a2020-11-12 14:26:12 -0800284 "aidl/android/media/AudioGain.aidl",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700285 "aidl/android/media/AudioGainConfig.aidl",
286 "aidl/android/media/AudioGainMode.aidl",
287 "aidl/android/media/AudioInputFlags.aidl",
288 "aidl/android/media/AudioIoConfigEvent.aidl",
289 "aidl/android/media/AudioIoDescriptor.aidl",
290 "aidl/android/media/AudioIoFlags.aidl",
Ytai Ben-Tsvi0cf92652020-11-23 13:23:00 -0800291 "aidl/android/media/AudioMixLatencyClass.aidl",
Ytai Ben-Tsvice182942020-11-04 14:48:01 -0800292 "aidl/android/media/AudioMode.aidl",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800293 "aidl/android/media/AudioOffloadInfo.aidl",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700294 "aidl/android/media/AudioOutputFlags.aidl",
295 "aidl/android/media/AudioPatch.aidl",
Ytai Ben-Tsvi50e016a2020-11-12 14:26:12 -0800296 "aidl/android/media/AudioPort.aidl",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700297 "aidl/android/media/AudioPortConfig.aidl",
298 "aidl/android/media/AudioPortConfigType.aidl",
299 "aidl/android/media/AudioPortConfigDeviceExt.aidl",
300 "aidl/android/media/AudioPortConfigExt.aidl",
301 "aidl/android/media/AudioPortConfigMixExt.aidl",
302 "aidl/android/media/AudioPortConfigMixExtUseCase.aidl",
303 "aidl/android/media/AudioPortConfigSessionExt.aidl",
Ytai Ben-Tsvi0cf92652020-11-23 13:23:00 -0800304 "aidl/android/media/AudioPortDeviceExt.aidl",
305 "aidl/android/media/AudioPortExt.aidl",
306 "aidl/android/media/AudioPortMixExt.aidl",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700307 "aidl/android/media/AudioPortRole.aidl",
Ytai Ben-Tsvi0cf92652020-11-23 13:23:00 -0800308 "aidl/android/media/AudioPortSessionExt.aidl",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700309 "aidl/android/media/AudioPortType.aidl",
Ytai Ben-Tsvi50e016a2020-11-12 14:26:12 -0800310 "aidl/android/media/AudioProfile.aidl",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700311 "aidl/android/media/AudioSourceType.aidl",
312 "aidl/android/media/AudioStreamType.aidl",
Ytai Ben-Tsvibdc293a2020-11-02 17:01:38 -0800313 "aidl/android/media/AudioTimestampInternal.aidl",
Ytai Ben-Tsvice182942020-11-04 14:48:01 -0800314 "aidl/android/media/AudioUniqueIdUse.aidl",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800315 "aidl/android/media/AudioUsage.aidl",
Ytai Ben-Tsvice182942020-11-04 14:48:01 -0800316 "aidl/android/media/AudioUuid.aidl",
317 "aidl/android/media/EffectDescriptor.aidl",
Ytai Ben-Tsvi71109da2020-11-03 15:11:13 -0800318 ],
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700319 imports: [
320 "audio_common-aidl",
321 ],
Ytai Ben-Tsvif0658f42020-10-26 11:51:14 -0700322 backend: {
323 cpp: {
324 min_sdk_version: "29",
325 apex_available: [
326 "//apex_available:platform",
327 "com.android.media",
328 ],
329 },
330 },
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700331}
332
333aidl_interface {
334 name: "audioflinger-aidl",
335 unstable: true,
336 local_include_dir: "aidl",
337 host_supported: true,
338 vendor_available: true,
339 srcs: [
Ytai Ben-Tsvice182942020-11-04 14:48:01 -0800340 "aidl/android/media/CreateEffectRequest.aidl",
341 "aidl/android/media/CreateEffectResponse.aidl",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800342 "aidl/android/media/CreateRecordRequest.aidl",
343 "aidl/android/media/CreateRecordResponse.aidl",
344 "aidl/android/media/CreateTrackRequest.aidl",
345 "aidl/android/media/CreateTrackResponse.aidl",
Ytai Ben-Tsvi12a0b842020-11-05 13:47:32 -0800346 "aidl/android/media/OpenInputRequest.aidl",
347 "aidl/android/media/OpenInputResponse.aidl",
Ytai Ben-Tsvi50e016a2020-11-12 14:26:12 -0800348 "aidl/android/media/OpenOutputRequest.aidl",
349 "aidl/android/media/OpenOutputResponse.aidl",
Ytai Ben-Tsvi50b8ccb2020-11-24 13:47:54 -0800350 "aidl/android/media/RenderPosition.aidl",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800351
Ytai Ben-Tsvi50b8ccb2020-11-24 13:47:54 -0800352 "aidl/android/media/IAudioFlingerService.aidl",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700353 "aidl/android/media/IAudioFlingerClient.aidl",
Ytai Ben-Tsvi71109da2020-11-03 15:11:13 -0800354 "aidl/android/media/IAudioRecord.aidl",
Ytai Ben-Tsvibdc293a2020-11-02 17:01:38 -0800355 "aidl/android/media/IAudioTrack.aidl",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800356 "aidl/android/media/IAudioTrackCallback.aidl",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700357 ],
358 imports: [
Ytai Ben-Tsvice182942020-11-04 14:48:01 -0800359 "audio_common-aidl",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700360 "audioclient-types-aidl",
Ytai Ben-Tsvibdc293a2020-11-02 17:01:38 -0800361 "av-types-aidl",
Ytai Ben-Tsvice182942020-11-04 14:48:01 -0800362 "effect-aidl",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800363 "shared-file-region-aidl",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700364 ],
365 double_loadable: true,
366 backend: {
367 cpp: {
368 min_sdk_version: "29",
369 apex_available: [
370 "//apex_available:platform",
371 "com.android.media",
372 ],
373 },
374 },
375}