blob: c23c38c5e98f1bbc7fe8a7db7ed53934d8f0f0fa [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"
Dan Willemsenfaeab0f2018-09-14 21:17:46 -070076 ":libaudioclient_aidl_private",
Colin Cross6bf135b2017-11-14 13:05:37 -080077 ":libaudioclient_aidl",
Ivan Lozanoff6900d2017-08-01 15:47:38 -070078
Jack Hed92d34e2016-12-08 15:44:14 -080079 "AudioEffect.cpp",
Jack Hed92d34e2016-12-08 15:44:14 -080080 "AudioRecord.cpp",
81 "AudioSystem.cpp",
82 "AudioTrack.cpp",
83 "AudioTrackShared.cpp",
84 "IAudioFlinger.cpp",
Jack Hed92d34e2016-12-08 15:44:14 -080085 "IAudioPolicyService.cpp",
86 "IAudioPolicyServiceClient.cpp",
Jack Hed92d34e2016-12-08 15:44:14 -080087 "IAudioTrack.cpp",
Jack Hed92d34e2016-12-08 15:44:14 -080088 "ToneGenerator.cpp",
Eric Laurentb5323222017-05-31 15:01:56 -070089 "PlayerBase.cpp",
Mikhail Naganov2996f672019-04-18 12:29:59 -070090 "RecordingActivityTracker.cpp",
Eric Laurentb5323222017-05-31 15:01:56 -070091 "TrackPlayerBase.cpp",
Jack Hed92d34e2016-12-08 15:44:14 -080092 ],
93 shared_libs: [
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -080094 "audioclient-types-aidl-unstable-cpp",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -070095 "audioflinger-aidl-unstable-cpp",
Ytai Ben-Tsvif0658f42020-10-26 11:51:14 -070096 "av-types-aidl-unstable-cpp",
Ytai Ben-Tsvi85093d52020-03-26 09:41:15 -070097 "capture_state_listener-aidl-cpp",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -070098 "libaudioclient_aidl_conversion",
jiabin43810402019-10-24 14:58:31 -070099 "libaudiofoundation",
Kevin Rocard07be14f2018-01-24 06:14:03 +0000100 "libaudioutils",
François Gaffied0ba9ed2018-11-05 11:50:42 +0100101 "libaudiopolicy",
Eric Laurentb5323222017-05-31 15:01:56 -0700102 "libaudiomanager",
Eric Tanace588c2018-09-12 11:44:43 -0700103 "libbinder",
104 "libcutils",
105 "libdl",
106 "liblog",
Ray Essicked304702017-12-12 14:00:57 -0800107 "libmedia_helper",
108 "libmediametrics",
Andy Hung4ef19fa2018-05-15 19:35:29 -0700109 "libmediautils",
Eric Tanace588c2018-09-12 11:44:43 -0700110 "libnblog",
Suren Baghdasaryan7435e7d2018-12-19 17:09:28 -0800111 "libprocessgroup",
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700112 "libshmemcompat",
Eric Tanace588c2018-09-12 11:44:43 -0700113 "libutils",
jiabinbf6b0ec2019-02-12 12:30:12 -0800114 "libvibrator",
Jack Hed92d34e2016-12-08 15:44:14 -0800115 ],
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700116 export_shared_lib_headers: [
117 "audioflinger-aidl-unstable-cpp",
118 "libbinder",
119 ],
Steven Moreland25a9e552017-04-17 14:30:39 -0700120
Marco Nelissena51151a2020-01-07 13:37:47 -0800121 include_dirs: [
122 "frameworks/av/media/libnbaio/include_mono/",
123 ],
124 local_include_dirs: [
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700125 "include/media",
126 "aidl",
Marco Nelissena51151a2020-01-07 13:37:47 -0800127 ],
Chih-Hung Hsiehffe35582018-09-13 13:59:28 -0700128 header_libs: [
129 "libaudioclient_headers",
130 "libbase_headers",
Marco Nelissen6b285942019-10-21 14:52:30 -0700131 "libmedia_headers",
Chih-Hung Hsiehffe35582018-09-13 13:59:28 -0700132 ],
Steven Moreland25a9e552017-04-17 14:30:39 -0700133 export_header_lib_headers: ["libaudioclient_headers"],
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700134 export_static_lib_headers: [
135 "effect-aidl-cpp",
Jeongik Chabde90a42020-08-29 02:09:08 +0900136 "shared-file-region-aidl-unstable-cpp",
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700137 ],
Steven Moreland25a9e552017-04-17 14:30:39 -0700138
Jack Hed92d34e2016-12-08 15:44:14 -0800139 static_libs: [
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700140 "effect-aidl-cpp",
141 // for memory heap analysis
Jack Hed92d34e2016-12-08 15:44:14 -0800142 "libc_malloc_debug_backtrace",
Jeongik Chabde90a42020-08-29 02:09:08 +0900143 "shared-file-region-aidl-unstable-cpp",
Jack Hed92d34e2016-12-08 15:44:14 -0800144 ],
145 cflags: [
Steven Moreland25a9e552017-04-17 14:30:39 -0700146 "-Wall",
Jack Hed92d34e2016-12-08 15:44:14 -0800147 "-Werror",
148 "-Wno-error=deprecated-declarations",
Jack Hed92d34e2016-12-08 15:44:14 -0800149 ],
150 sanitize: {
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700151 misc_undefined: [
Jack Hed92d34e2016-12-08 15:44:14 -0800152 "unsigned-integer-overflow",
153 "signed-integer-overflow",
154 ],
155 },
156}
Colin Cross6bf135b2017-11-14 13:05:37 -0800157
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700158cc_library_shared {
159 name: "libaudioclient_aidl_conversion",
160 srcs: ["AidlConversion.cpp"],
161 local_include_dirs: ["include"],
162 shared_libs: [
163 "audioclient-types-aidl-unstable-cpp",
164 "libbase",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800165 "libbinder",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700166 "liblog",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800167 "libshmemcompat",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700168 "libutils",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800169 "shared-file-region-aidl-unstable-cpp",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700170 ],
171 export_shared_lib_headers: [
172 "audioclient-types-aidl-unstable-cpp",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800173 "libbase",
174 "shared-file-region-aidl-unstable-cpp",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700175 ],
176 cflags: [
177 "-Wall",
178 "-Werror",
179 "-Wno-error=deprecated-declarations",
180 ],
181 sanitize: {
182 misc_undefined: [
183 "unsigned-integer-overflow",
184 "signed-integer-overflow",
185 ],
186 },
187}
188
Colin Cross6bf135b2017-11-14 13:05:37 -0800189// AIDL interface between libaudioclient and framework.jar
190filegroup {
191 name: "libaudioclient_aidl",
192 srcs: [
193 "aidl/android/media/IPlayer.aidl",
194 ],
Dan Willemsenfaeab0f2018-09-14 21:17:46 -0700195 path: "aidl",
196}
197
198// Used to strip the "aidl/" from the path, so the build system can predict the
199// output filename.
200filegroup {
201 name: "libaudioclient_aidl_private",
202 srcs: [
203 "aidl/android/media/IAudioRecord.aidl",
204 ],
205 path: "aidl",
Colin Cross6bf135b2017-11-14 13:05:37 -0800206}
jiabinf6eb4c32020-02-25 14:06:25 -0800207
Ytai Ben-Tsvi987d12c2020-03-24 17:35:44 -0700208aidl_interface {
209 name: "capture_state_listener-aidl",
Jiyong Park1f2151f2020-04-13 12:52:14 +0900210 unstable: true,
Ytai Ben-Tsvi987d12c2020-03-24 17:35:44 -0700211 local_include_dir: "aidl",
212 srcs: [
213 "aidl/android/media/ICaptureStateListener.aidl",
214 ],
215}
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700216
217aidl_interface {
218 name: "effect-aidl",
219 unstable: true,
220 local_include_dir: "aidl",
221 srcs: [
222 "aidl/android/media/IEffect.aidl",
223 "aidl/android/media/IEffectClient.aidl",
224 ],
225 imports: [
226 "shared-file-region-aidl",
227 ],
228}
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700229
230aidl_interface {
231 name: "audioclient-types-aidl",
232 unstable: true,
233 host_supported: true,
234 vendor_available: true,
235 double_loadable: true,
236 local_include_dir: "aidl",
237 srcs: [
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800238 "aidl/android/media/AudioAttributesInternal.aidl",
239 "aidl/android/media/AudioClient.aidl",
240 "aidl/android/media/AudioConfig.aidl",
241 "aidl/android/media/AudioConfigBase.aidl",
242 "aidl/android/media/AudioContentType.aidl",
243 "aidl/android/media/AudioEncapsulationMode.aidl",
244 "aidl/android/media/AudioFlag.aidl",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700245 "aidl/android/media/AudioGainConfig.aidl",
246 "aidl/android/media/AudioGainMode.aidl",
247 "aidl/android/media/AudioInputFlags.aidl",
248 "aidl/android/media/AudioIoConfigEvent.aidl",
249 "aidl/android/media/AudioIoDescriptor.aidl",
250 "aidl/android/media/AudioIoFlags.aidl",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800251 "aidl/android/media/AudioOffloadInfo.aidl",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700252 "aidl/android/media/AudioOutputFlags.aidl",
253 "aidl/android/media/AudioPatch.aidl",
254 "aidl/android/media/AudioPortConfig.aidl",
255 "aidl/android/media/AudioPortConfigType.aidl",
256 "aidl/android/media/AudioPortConfigDeviceExt.aidl",
257 "aidl/android/media/AudioPortConfigExt.aidl",
258 "aidl/android/media/AudioPortConfigMixExt.aidl",
259 "aidl/android/media/AudioPortConfigMixExtUseCase.aidl",
260 "aidl/android/media/AudioPortConfigSessionExt.aidl",
261 "aidl/android/media/AudioPortRole.aidl",
262 "aidl/android/media/AudioPortType.aidl",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700263 "aidl/android/media/AudioSourceType.aidl",
264 "aidl/android/media/AudioStreamType.aidl",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800265 "aidl/android/media/AudioUsage.aidl",
Ytai Ben-Tsvif0658f42020-10-26 11:51:14 -0700266 ],
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700267 imports: [
268 "audio_common-aidl",
269 ],
Ytai Ben-Tsvif0658f42020-10-26 11:51:14 -0700270 backend: {
271 cpp: {
272 min_sdk_version: "29",
273 apex_available: [
274 "//apex_available:platform",
275 "com.android.media",
276 ],
277 },
278 },
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700279}
280
281aidl_interface {
282 name: "audioflinger-aidl",
283 unstable: true,
284 local_include_dir: "aidl",
285 host_supported: true,
286 vendor_available: true,
287 srcs: [
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800288 "aidl/android/media/CreateRecordRequest.aidl",
289 "aidl/android/media/CreateRecordResponse.aidl",
290 "aidl/android/media/CreateTrackRequest.aidl",
291 "aidl/android/media/CreateTrackResponse.aidl",
292
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700293 "aidl/android/media/IAudioFlingerClient.aidl",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800294 "aidl/android/media/IAudioTrackCallback.aidl",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700295 ],
296 imports: [
297 "audioclient-types-aidl",
Ytai Ben-Tsvi4dfeb622020-11-02 12:47:30 -0800298 "shared-file-region-aidl",
Ytai Ben-Tsvi10dc0a62020-09-18 11:31:55 -0700299 ],
300 double_loadable: true,
301 backend: {
302 cpp: {
303 min_sdk_version: "29",
304 apex_available: [
305 "//apex_available:platform",
306 "com.android.media",
307 ],
308 },
309 },
310}