blob: cec12761e91010d0cbf7ea304945fc7bf1cde0ab [file] [log] [blame]
Josh Wu73cddd12021-10-26 14:00:00 -07001/*
2 * Copyright (C) 2021 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package {
Aditya Choudharyc5c6c622024-01-31 11:06:17 +000018 default_team: "trendy_team_android_media_audio_framework",
Josh Wu73cddd12021-10-26 14:00:00 -070019 // See: http://go/android-license-faq
20 // A large-scale-change added 'default_applicable_licenses' to import
21 // all of the 'license_kinds' from "hardware_interfaces_license"
22 // to get the below license kinds:
23 // SPDX-license-identifier-Apache-2.0
24 default_applicable_licenses: ["hardware_interfaces_license"],
25}
26
David Li4d361832022-11-23 15:36:37 +080027aidl_interface_defaults {
28 name: "android.hardware.audio_defaults",
29 host_supported: true,
30 vendor_available: true,
31 stability: "vintf",
32}
33
Josh Wu73cddd12021-10-26 14:00:00 -070034aidl_interface {
35 name: "android.hardware.audio.common",
David Li4d361832022-11-23 15:36:37 +080036 defaults: [
37 "android.hardware.audio_defaults",
Shunkai Yao195d3d62023-10-10 19:26:07 +000038 "latest_android_media_audio_common_types_import_interface",
David Li4d361832022-11-23 15:36:37 +080039 ],
Josh Wu73cddd12021-10-26 14:00:00 -070040 srcs: [
Mikhail Naganov9940a552023-02-24 19:50:51 -080041 "android/hardware/audio/common/AudioOffloadMetadata.aidl",
Josh Wu73cddd12021-10-26 14:00:00 -070042 "android/hardware/audio/common/PlaybackTrackMetadata.aidl",
43 "android/hardware/audio/common/RecordTrackMetadata.aidl",
44 "android/hardware/audio/common/SinkMetadata.aidl",
45 "android/hardware/audio/common/SourceMetadata.aidl",
46 ],
Devin Moore9df02452025-01-08 21:21:06 +000047 frozen: true,
Josh Wu73cddd12021-10-26 14:00:00 -070048 backend: {
49 cpp: {
50 enabled: true,
51 },
52 java: {
Francois Gaffie5d7af1e2022-02-02 11:12:08 +010053 sdk_version: "module_current",
54 min_sdk_version: "31",
55 apex_available: [
56 "//apex_available:platform",
57 "com.android.car.framework",
58 ],
Josh Wu73cddd12021-10-26 14:00:00 -070059 },
60 ndk: {
Roopa Sattiraju7455efc2022-02-03 14:15:22 -080061 apex_available: [
62 "//apex_available:platform",
William Escande651113e2025-01-09 14:37:59 -080063 "com.android.bt",
Roopa Sattiraju7455efc2022-02-03 14:15:22 -080064 ],
65 min_sdk_version: "31",
Josh Wu73cddd12021-10-26 14:00:00 -070066 },
Weilin Xu843abc52024-04-16 14:36:12 -070067 rust: {
68 enabled: true,
69 },
Josh Wu73cddd12021-10-26 14:00:00 -070070 },
Jiyong Park703e9792022-03-22 14:18:48 +090071 versions_with_info: [
72 {
73 version: "1",
Lorena Torres-Huerta308e2572022-08-29 21:48:01 +000074 imports: ["android.media.audio.common.types-V2"],
Jiyong Park703e9792022-03-22 14:18:48 +090075 },
Alex Buynytskyyec1198d2023-04-04 19:52:27 +000076 {
77 version: "2",
78 imports: ["android.media.audio.common.types-V2"],
79 },
Devin Moorea8efdb12024-02-20 17:31:40 +000080 {
81 version: "3",
82 imports: ["android.media.audio.common.types-V3"],
83 },
Devin Moore9df02452025-01-08 21:21:06 +000084 {
85 version: "4",
86 imports: ["android.media.audio.common.types-V4"],
87 },
Alex Buynytskyyec1198d2023-04-04 19:52:27 +000088
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +000089 // IMPORTANT: Update latest_android_hardware_audio_common every time you
90 // add the latest frozen version to versions_with_info
Josh Wu73cddd12021-10-26 14:00:00 -070091 ],
Jiyong Park703e9792022-03-22 14:18:48 +090092
Josh Wu73cddd12021-10-26 14:00:00 -070093}
Mikhail Naganovbd4013f2021-11-11 20:55:41 +000094
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +000095// Note: This should always be one version ahead of the last frozen version
François Gaffiedab7ab02024-06-26 18:13:56 +000096latest_android_hardware_audio_common = "android.hardware.audio.common-V4"
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +000097
98// Modules that depend on android.hardware.audio.common directly can include
99// the following cc_defaults to avoid explicitly managing dependency versions
100// across many scattered files.
101cc_defaults {
Lorena Torres-Huerta308e2572022-08-29 21:48:01 +0000102 name: "latest_android_hardware_audio_common_cpp_static",
103 static_libs: [
104 latest_android_hardware_audio_common + "-cpp",
105 ],
106}
107
108cc_defaults {
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +0000109 name: "latest_android_hardware_audio_common_ndk_static",
110 static_libs: [
111 latest_android_hardware_audio_common + "-ndk",
112 ],
113}
114
David Li4d361832022-11-23 15:36:37 +0800115cc_defaults {
116 name: "latest_android_hardware_audio_common_ndk_shared",
117 shared_libs: [
118 latest_android_hardware_audio_common + "-ndk",
119 ],
120}
121
Weilin Xu843abc52024-04-16 14:36:12 -0700122rust_defaults {
123 name: "latest_android_hardware_audio_common_rust",
124 rustlibs: [
125 latest_android_hardware_audio_common + "-rust",
126 ],
127}
128
Shunkai Yao195d3d62023-10-10 19:26:07 +0000129aidl_interface_defaults {
130 name: "latest_android_hardware_audio_common_import_interface",
131 imports: [
132 latest_android_hardware_audio_common,
133 ],
134}
135
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000136aidl_interface {
137 name: "android.hardware.audio.core",
David Li4d361832022-11-23 15:36:37 +0800138 defaults: [
139 "android.hardware.audio_defaults",
Shunkai Yao195d3d62023-10-10 19:26:07 +0000140 "latest_android_hardware_audio_common_import_interface",
141 "latest_android_hardware_audio_core_sounddose_import_interface",
142 "latest_android_hardware_audio_effect_import_interface",
143 "latest_android_media_audio_common_types_import_interface",
David Li4d361832022-11-23 15:36:37 +0800144 ],
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000145 srcs: [
146 "android/hardware/audio/core/AudioPatch.aidl",
147 "android/hardware/audio/core/AudioRoute.aidl",
Mikhail Naganov10c6fe22022-09-30 23:49:17 +0000148 "android/hardware/audio/core/IBluetooth.aidl",
Mikhail Naganov3caf6592023-02-27 18:51:44 -0800149 "android/hardware/audio/core/IBluetoothA2dp.aidl",
Mikhail Naganov4fae3192023-03-06 14:37:38 -0800150 "android/hardware/audio/core/IBluetoothLe.aidl",
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000151 "android/hardware/audio/core/IConfig.aidl",
152 "android/hardware/audio/core/IModule.aidl",
Mikhail Naganov30301a42022-09-13 01:20:45 +0000153 "android/hardware/audio/core/IStreamCallback.aidl",
Mikhail Naganove9f10fc2022-10-14 23:31:52 +0000154 "android/hardware/audio/core/IStreamCommon.aidl",
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000155 "android/hardware/audio/core/IStreamIn.aidl",
156 "android/hardware/audio/core/IStreamOut.aidl",
Mikhail Naganov74927202022-12-19 16:37:14 +0000157 "android/hardware/audio/core/IStreamOutEventCallback.aidl",
Mikhail Naganov3b125b72022-10-05 02:12:39 +0000158 "android/hardware/audio/core/ITelephony.aidl",
Mikhail Naganov6a4872d2022-06-15 21:39:04 +0000159 "android/hardware/audio/core/MmapBufferDescriptor.aidl",
Mikhail Naganov00603d12022-05-02 22:52:13 +0000160 "android/hardware/audio/core/ModuleDebug.aidl",
Mikhail Naganov6a4872d2022-06-15 21:39:04 +0000161 "android/hardware/audio/core/StreamDescriptor.aidl",
Lorena Torres-Huerta0ba91e52022-10-05 21:56:42 +0000162 "android/hardware/audio/core/SurroundSoundConfig.aidl",
Mikhail Naganove9f10fc2022-10-14 23:31:52 +0000163 "android/hardware/audio/core/VendorParameter.aidl",
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000164 ],
165 imports: [
Mikhail Naganov6a4872d2022-06-15 21:39:04 +0000166 "android.hardware.common-V2",
167 "android.hardware.common.fmq-V1",
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000168 ],
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000169 backend: {
Mikhail Naganovf84d6402022-06-16 00:35:31 +0000170 // The C++ backend is disabled transitively due to use of FMQ.
171 cpp: {
172 enabled: false,
173 },
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000174 java: {
Mikhail Naganov409ce2a2022-08-04 17:20:27 +0000175 sdk_version: "module_current",
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000176 },
177 },
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +0000178 versions_with_info: [
Alex Buynytskyyec1198d2023-04-04 19:52:27 +0000179 {
180 version: "1",
181 imports: [
182 "android.hardware.common-V2",
183 "android.hardware.common.fmq-V1",
184 "android.hardware.audio.common-V2",
185 "android.hardware.audio.core.sounddose-V1",
186 "android.hardware.audio.effect-V1",
187 "android.media.audio.common.types-V2",
188 ],
189 },
Devin Moorea8efdb12024-02-20 17:31:40 +0000190 {
191 version: "2",
192 imports: [
193 "android.media.audio.common.types-V3",
194 "android.hardware.audio.effect-V2",
195 "android.hardware.audio.core.sounddose-V2",
196 "android.hardware.audio.common-V3",
197 "android.hardware.common-V2",
198 "android.hardware.common.fmq-V1",
199 ],
200 },
Devin Moore9df02452025-01-08 21:21:06 +0000201 {
202 version: "3",
203 imports: [
204 "android.media.audio.common.types-V4",
205 "android.hardware.audio.effect-V3",
206 "android.hardware.audio.core.sounddose-V3",
207 "android.hardware.audio.common-V4",
208 "android.hardware.common-V2",
209 "android.hardware.common.fmq-V1",
210 ],
211 },
Alex Buynytskyyec1198d2023-04-04 19:52:27 +0000212
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +0000213 // IMPORTANT: Update latest_android_hardware_audio_core every time you
214 // add the latest frozen version to versions_with_info
215 ],
Devin Moore9df02452025-01-08 21:21:06 +0000216 frozen: true,
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +0000217}
218
219// Note: This should always be one version ahead of the last frozen version
François Gaffiedab7ab02024-06-26 18:13:56 +0000220latest_android_hardware_audio_core = "android.hardware.audio.core-V3"
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +0000221
222// Modules that depend on android.hardware.audio.core directly can include
223// the following cc_defaults to avoid explicitly managing dependency versions
224// across many scattered files.
225cc_defaults {
226 name: "latest_android_hardware_audio_core_ndk_shared",
227 shared_libs: [
228 latest_android_hardware_audio_core + "-ndk",
229 ],
230}
231
232cc_defaults {
233 name: "latest_android_hardware_audio_core_ndk_static",
234 static_libs: [
235 latest_android_hardware_audio_core + "-ndk",
236 ],
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000237}
Shunkai Yaof1d60392022-06-30 17:58:56 +0000238
Shunkai Yao195d3d62023-10-10 19:26:07 +0000239aidl_interface_defaults {
240 name: "latest_android_hardware_audio_core_import_interface",
241 imports: [
242 latest_android_hardware_audio_core,
243 ],
244}
245
Mikhail Naganov472e4172024-11-20 00:01:12 +0000246rust_defaults {
247 name: "latest_android_hardware_audio_core_rust",
248 rustlibs: [
249 latest_android_hardware_audio_core + "-rust",
250 ],
251}
252
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100253// Used for the standalone sounddose HAL
254aidl_interface {
255 name: "android.hardware.audio.core.sounddose",
256 defaults: [
257 "android.hardware.audio_defaults",
Shunkai Yao195d3d62023-10-10 19:26:07 +0000258 "latest_android_media_audio_common_types_import_interface",
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100259 ],
260 srcs: [
Vlad Popa2afbd1e2022-12-28 17:04:58 +0100261 "android/hardware/audio/core/sounddose/ISoundDose.aidl",
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100262 ],
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100263 backend: {
264 // The C++ backend is disabled transitively due to use of FMQ by the core HAL.
265 cpp: {
266 enabled: false,
267 },
268 java: {
269 sdk_version: "module_current",
270 },
271 },
272 versions_with_info: [
Alex Buynytskyyec1198d2023-04-04 19:52:27 +0000273 {
274 version: "1",
275 imports: ["android.media.audio.common.types-V2"],
276 },
Devin Moorea8efdb12024-02-20 17:31:40 +0000277 {
278 version: "2",
279 imports: ["android.media.audio.common.types-V3"],
280 },
Devin Moore9df02452025-01-08 21:21:06 +0000281 {
282 version: "3",
283 imports: ["android.media.audio.common.types-V4"],
284 },
Alex Buynytskyyec1198d2023-04-04 19:52:27 +0000285
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100286 // IMPORTANT: Update latest_android_hardware_audio_core_sounddose every time you
287 // add the latest frozen version to versions_with_info
288 ],
Devin Moore9df02452025-01-08 21:21:06 +0000289 frozen: true,
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100290}
291
292// Note: This should always be one version ahead of the last frozen version
François Gaffiedab7ab02024-06-26 18:13:56 +0000293latest_android_hardware_audio_core_sounddose = "android.hardware.audio.core.sounddose-V3"
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100294
295// Modules that depend on android.hardware.audio.core.sounddose directly can include
296// the following cc_defaults to avoid explicitly managing dependency versions
297// across many scattered files.
298cc_defaults {
299 name: "latest_android_hardware_audio_core_sounddose_ndk_shared",
300 shared_libs: [
301 latest_android_hardware_audio_core_sounddose + "-ndk",
302 ],
303}
304
305cc_defaults {
Shunkai Yao195d3d62023-10-10 19:26:07 +0000306 name: "latest_android_hardware_audio_core_sounddose_ndk_export_shared_lib_header",
307 export_shared_lib_headers: [
308 latest_android_hardware_audio_core_sounddose + "-ndk",
309 ],
310}
311
312cc_defaults {
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100313 name: "latest_android_hardware_audio_core_sounddose_ndk_static",
314 static_libs: [
315 latest_android_hardware_audio_core_sounddose + "-ndk",
316 ],
317}
318
Shunkai Yao195d3d62023-10-10 19:26:07 +0000319aidl_interface_defaults {
320 name: "latest_android_hardware_audio_core_sounddose_import_interface",
321 imports: [
322 latest_android_hardware_audio_core_sounddose,
323 ],
324}
325
Shunkai Yaof1d60392022-06-30 17:58:56 +0000326aidl_interface {
327 name: "android.hardware.audio.effect",
David Li4d361832022-11-23 15:36:37 +0800328 defaults: [
329 "android.hardware.audio_defaults",
Shunkai Yao195d3d62023-10-10 19:26:07 +0000330 "latest_android_hardware_audio_common_import_interface",
331 "latest_android_media_audio_common_types_import_interface",
Shunkai Yao922576f2024-10-17 00:05:58 +0000332 "latest_android_media_audio_eraser_types_import_interface",
David Li4d361832022-11-23 15:36:37 +0800333 ],
Shunkai Yaof1d60392022-06-30 17:58:56 +0000334 srcs: [
Shunkai Yao0b58d822022-12-20 15:45:38 +0000335 "android/hardware/audio/effect/AcousticEchoCanceler.aidl",
Shunkai Yaoca108742023-01-25 01:15:33 +0000336 "android/hardware/audio/effect/AutomaticGainControlV1.aidl",
Shraddha Basantwani84ea32e2023-02-01 16:22:37 +0530337 "android/hardware/audio/effect/AutomaticGainControlV2.aidl",
Shunkai Yao82a6f7a2022-10-31 21:46:08 +0000338 "android/hardware/audio/effect/BassBoost.aidl",
Shunkai Yao0632ae62022-09-28 17:37:50 +0000339 "android/hardware/audio/effect/Capability.aidl",
340 "android/hardware/audio/effect/CommandId.aidl",
Shunkai Yao85b01692023-02-15 22:04:57 +0000341 "android/hardware/audio/effect/DefaultExtension.aidl",
Shunkai Yaof1d60392022-06-30 17:58:56 +0000342 "android/hardware/audio/effect/Descriptor.aidl",
Shunkai Yao82a6f7a2022-10-31 21:46:08 +0000343 "android/hardware/audio/effect/Downmix.aidl",
344 "android/hardware/audio/effect/DynamicsProcessing.aidl",
Shunkai Yao20e5c172022-12-12 07:09:01 +0000345 "android/hardware/audio/effect/EnvironmentalReverb.aidl",
Shunkai Yao0632ae62022-09-28 17:37:50 +0000346 "android/hardware/audio/effect/Equalizer.aidl",
Shunkai Yao922576f2024-10-17 00:05:58 +0000347 "android/hardware/audio/effect/Eraser.aidl",
Shunkai Yao0632ae62022-09-28 17:37:50 +0000348 "android/hardware/audio/effect/Flags.aidl",
Shunkai Yao82a6f7a2022-10-31 21:46:08 +0000349 "android/hardware/audio/effect/HapticGenerator.aidl",
Shunkai Yao84efa032022-08-23 17:46:10 +0000350 "android/hardware/audio/effect/IEffect.aidl",
Shunkai Yaof1d60392022-06-30 17:58:56 +0000351 "android/hardware/audio/effect/IFactory.aidl",
Shunkai Yao82a6f7a2022-10-31 21:46:08 +0000352 "android/hardware/audio/effect/LoudnessEnhancer.aidl",
Shunkai Yao0b58d822022-12-20 15:45:38 +0000353 "android/hardware/audio/effect/NoiseSuppression.aidl",
Shunkai Yao0632ae62022-09-28 17:37:50 +0000354 "android/hardware/audio/effect/Parameter.aidl",
Shunkai Yao20e5c172022-12-12 07:09:01 +0000355 "android/hardware/audio/effect/PresetReverb.aidl",
Shunkai Yao08b687d2022-10-13 21:11:11 +0000356 "android/hardware/audio/effect/Processing.aidl",
Shunkai Yao88b24b22023-01-24 22:56:26 +0000357 "android/hardware/audio/effect/Range.aidl",
Shunkai Yao992b0092023-03-14 01:43:18 +0000358 "android/hardware/audio/effect/Spatializer.aidl",
Shunkai Yao0632ae62022-09-28 17:37:50 +0000359 "android/hardware/audio/effect/State.aidl",
Shunkai Yao82a6f7a2022-10-31 21:46:08 +0000360 "android/hardware/audio/effect/VendorExtension.aidl",
361 "android/hardware/audio/effect/Virtualizer.aidl",
362 "android/hardware/audio/effect/Visualizer.aidl",
363 "android/hardware/audio/effect/Volume.aidl",
Shunkai Yaof1d60392022-06-30 17:58:56 +0000364 ],
365 imports: [
Shunkai Yao0632ae62022-09-28 17:37:50 +0000366 "android.hardware.common-V2",
367 "android.hardware.common.fmq-V1",
Shunkai Yaof1d60392022-06-30 17:58:56 +0000368 ],
Shunkai Yaof1d60392022-06-30 17:58:56 +0000369 backend: {
370 // The C++ backend is disabled transitively due to use of FMQ.
371 cpp: {
372 enabled: false,
373 },
374 java: {
375 sdk_version: "module_current",
376 },
377 },
Alex Buynytskyyec1198d2023-04-04 19:52:27 +0000378 versions_with_info: [
379 {
380 version: "1",
381 imports: [
382 "android.hardware.common-V2",
383 "android.hardware.common.fmq-V1",
384 "android.hardware.audio.common-V2",
385 "android.media.audio.common.types-V2",
386 ],
387 },
Devin Moorea8efdb12024-02-20 17:31:40 +0000388 {
389 version: "2",
390 imports: [
391 "android.media.audio.common.types-V3",
392 "android.hardware.audio.common-V3",
393 "android.hardware.common-V2",
394 "android.hardware.common.fmq-V1",
395 ],
396 },
Devin Moore9df02452025-01-08 21:21:06 +0000397 {
398 version: "3",
399 imports: [
400 "android.media.audio.eraser.types-V1",
401 "android.media.audio.common.types-V4",
402 "android.hardware.audio.common-V4",
403 "android.hardware.common-V2",
404 "android.hardware.common.fmq-V1",
405 ],
406 },
Devin Moorea8efdb12024-02-20 17:31:40 +0000407
Alex Buynytskyyec1198d2023-04-04 19:52:27 +0000408 ],
Devin Moore9df02452025-01-08 21:21:06 +0000409 frozen: true,
Alex Buynytskyyec1198d2023-04-04 19:52:27 +0000410
Shunkai Yaof1d60392022-06-30 17:58:56 +0000411}
Shunkai Yao45905172022-08-24 18:14:02 +0000412
François Gaffiedab7ab02024-06-26 18:13:56 +0000413latest_android_hardware_audio_effect = "android.hardware.audio.effect-V3"
Shunkai Yao45905172022-08-24 18:14:02 +0000414
415cc_defaults {
416 name: "latest_android_hardware_audio_effect_ndk_shared",
417 shared_libs: [
418 latest_android_hardware_audio_effect + "-ndk",
419 ],
420}
421
422cc_defaults {
423 name: "latest_android_hardware_audio_effect_ndk_static",
424 static_libs: [
425 latest_android_hardware_audio_effect + "-ndk",
426 ],
427}
Shunkai Yao195d3d62023-10-10 19:26:07 +0000428
429aidl_interface_defaults {
430 name: "latest_android_hardware_audio_effect_import_interface",
431 imports: [
432 latest_android_hardware_audio_effect,
433 ],
434}