blob: 0f2fe99b381fa3fbd6df43723ae9bf4f349dafdd [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 ],
François Gaffie25aff252024-04-15 13:33:51 +020047 frozen: false,
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 Escande2591c3d2022-08-22 11:27:58 -070063 "com.android.btservices",
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 },
Alex Buynytskyyec1198d2023-04-04 19:52:27 +000084
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +000085 // IMPORTANT: Update latest_android_hardware_audio_common every time you
86 // add the latest frozen version to versions_with_info
Josh Wu73cddd12021-10-26 14:00:00 -070087 ],
Jiyong Park703e9792022-03-22 14:18:48 +090088
Josh Wu73cddd12021-10-26 14:00:00 -070089}
Mikhail Naganovbd4013f2021-11-11 20:55:41 +000090
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +000091// Note: This should always be one version ahead of the last frozen version
François Gaffie25aff252024-04-15 13:33:51 +020092latest_android_hardware_audio_common = "android.hardware.audio.common-V4"
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +000093
94// Modules that depend on android.hardware.audio.common directly can include
95// the following cc_defaults to avoid explicitly managing dependency versions
96// across many scattered files.
97cc_defaults {
Lorena Torres-Huerta308e2572022-08-29 21:48:01 +000098 name: "latest_android_hardware_audio_common_cpp_static",
99 static_libs: [
100 latest_android_hardware_audio_common + "-cpp",
101 ],
102}
103
104cc_defaults {
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +0000105 name: "latest_android_hardware_audio_common_ndk_static",
106 static_libs: [
107 latest_android_hardware_audio_common + "-ndk",
108 ],
109}
110
David Li4d361832022-11-23 15:36:37 +0800111cc_defaults {
112 name: "latest_android_hardware_audio_common_ndk_shared",
113 shared_libs: [
114 latest_android_hardware_audio_common + "-ndk",
115 ],
116}
117
Weilin Xu843abc52024-04-16 14:36:12 -0700118rust_defaults {
119 name: "latest_android_hardware_audio_common_rust",
120 rustlibs: [
121 latest_android_hardware_audio_common + "-rust",
122 ],
123}
124
Shunkai Yao195d3d62023-10-10 19:26:07 +0000125aidl_interface_defaults {
126 name: "latest_android_hardware_audio_common_import_interface",
127 imports: [
128 latest_android_hardware_audio_common,
129 ],
130}
131
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000132aidl_interface {
133 name: "android.hardware.audio.core",
David Li4d361832022-11-23 15:36:37 +0800134 defaults: [
135 "android.hardware.audio_defaults",
Shunkai Yao195d3d62023-10-10 19:26:07 +0000136 "latest_android_hardware_audio_common_import_interface",
137 "latest_android_hardware_audio_core_sounddose_import_interface",
138 "latest_android_hardware_audio_effect_import_interface",
139 "latest_android_media_audio_common_types_import_interface",
David Li4d361832022-11-23 15:36:37 +0800140 ],
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000141 srcs: [
142 "android/hardware/audio/core/AudioPatch.aidl",
143 "android/hardware/audio/core/AudioRoute.aidl",
Mikhail Naganov10c6fe22022-09-30 23:49:17 +0000144 "android/hardware/audio/core/IBluetooth.aidl",
Mikhail Naganov3caf6592023-02-27 18:51:44 -0800145 "android/hardware/audio/core/IBluetoothA2dp.aidl",
Mikhail Naganov4fae3192023-03-06 14:37:38 -0800146 "android/hardware/audio/core/IBluetoothLe.aidl",
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000147 "android/hardware/audio/core/IConfig.aidl",
148 "android/hardware/audio/core/IModule.aidl",
Mikhail Naganov30301a42022-09-13 01:20:45 +0000149 "android/hardware/audio/core/IStreamCallback.aidl",
Mikhail Naganove9f10fc2022-10-14 23:31:52 +0000150 "android/hardware/audio/core/IStreamCommon.aidl",
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000151 "android/hardware/audio/core/IStreamIn.aidl",
152 "android/hardware/audio/core/IStreamOut.aidl",
Mikhail Naganov74927202022-12-19 16:37:14 +0000153 "android/hardware/audio/core/IStreamOutEventCallback.aidl",
Mikhail Naganov3b125b72022-10-05 02:12:39 +0000154 "android/hardware/audio/core/ITelephony.aidl",
Mikhail Naganov6a4872d2022-06-15 21:39:04 +0000155 "android/hardware/audio/core/MmapBufferDescriptor.aidl",
Mikhail Naganov00603d12022-05-02 22:52:13 +0000156 "android/hardware/audio/core/ModuleDebug.aidl",
Mikhail Naganov6a4872d2022-06-15 21:39:04 +0000157 "android/hardware/audio/core/StreamDescriptor.aidl",
Lorena Torres-Huerta0ba91e52022-10-05 21:56:42 +0000158 "android/hardware/audio/core/SurroundSoundConfig.aidl",
Mikhail Naganove9f10fc2022-10-14 23:31:52 +0000159 "android/hardware/audio/core/VendorParameter.aidl",
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000160 ],
161 imports: [
Mikhail Naganov6a4872d2022-06-15 21:39:04 +0000162 "android.hardware.common-V2",
163 "android.hardware.common.fmq-V1",
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000164 ],
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000165 backend: {
Mikhail Naganovf84d6402022-06-16 00:35:31 +0000166 // The C++ backend is disabled transitively due to use of FMQ.
167 cpp: {
168 enabled: false,
169 },
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000170 java: {
Mikhail Naganov409ce2a2022-08-04 17:20:27 +0000171 sdk_version: "module_current",
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000172 },
173 },
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +0000174 versions_with_info: [
Alex Buynytskyyec1198d2023-04-04 19:52:27 +0000175 {
176 version: "1",
177 imports: [
178 "android.hardware.common-V2",
179 "android.hardware.common.fmq-V1",
180 "android.hardware.audio.common-V2",
181 "android.hardware.audio.core.sounddose-V1",
182 "android.hardware.audio.effect-V1",
183 "android.media.audio.common.types-V2",
184 ],
185 },
Devin Moorea8efdb12024-02-20 17:31:40 +0000186 {
187 version: "2",
188 imports: [
189 "android.media.audio.common.types-V3",
190 "android.hardware.audio.effect-V2",
191 "android.hardware.audio.core.sounddose-V2",
192 "android.hardware.audio.common-V3",
193 "android.hardware.common-V2",
194 "android.hardware.common.fmq-V1",
195 ],
196 },
Alex Buynytskyyec1198d2023-04-04 19:52:27 +0000197
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +0000198 // IMPORTANT: Update latest_android_hardware_audio_core every time you
199 // add the latest frozen version to versions_with_info
200 ],
François Gaffie25aff252024-04-15 13:33:51 +0200201 frozen: false,
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +0000202}
203
204// Note: This should always be one version ahead of the last frozen version
François Gaffie25aff252024-04-15 13:33:51 +0200205latest_android_hardware_audio_core = "android.hardware.audio.core-V3"
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +0000206
207// Modules that depend on android.hardware.audio.core directly can include
208// the following cc_defaults to avoid explicitly managing dependency versions
209// across many scattered files.
210cc_defaults {
211 name: "latest_android_hardware_audio_core_ndk_shared",
212 shared_libs: [
213 latest_android_hardware_audio_core + "-ndk",
214 ],
215}
216
217cc_defaults {
218 name: "latest_android_hardware_audio_core_ndk_static",
219 static_libs: [
220 latest_android_hardware_audio_core + "-ndk",
221 ],
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000222}
Shunkai Yaof1d60392022-06-30 17:58:56 +0000223
Shunkai Yao195d3d62023-10-10 19:26:07 +0000224aidl_interface_defaults {
225 name: "latest_android_hardware_audio_core_import_interface",
226 imports: [
227 latest_android_hardware_audio_core,
228 ],
229}
230
Mikhail Naganov78e0caf2024-11-18 11:08:02 -0800231rust_defaults {
232 name: "latest_android_hardware_audio_core_rust",
233 rustlibs: [
234 latest_android_hardware_audio_core + "-rust",
235 ],
236}
237
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100238// Used for the standalone sounddose HAL
239aidl_interface {
240 name: "android.hardware.audio.core.sounddose",
241 defaults: [
242 "android.hardware.audio_defaults",
Shunkai Yao195d3d62023-10-10 19:26:07 +0000243 "latest_android_media_audio_common_types_import_interface",
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100244 ],
245 srcs: [
Vlad Popa2afbd1e2022-12-28 17:04:58 +0100246 "android/hardware/audio/core/sounddose/ISoundDose.aidl",
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100247 ],
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100248 backend: {
249 // The C++ backend is disabled transitively due to use of FMQ by the core HAL.
250 cpp: {
251 enabled: false,
252 },
253 java: {
254 sdk_version: "module_current",
255 },
256 },
257 versions_with_info: [
Alex Buynytskyyec1198d2023-04-04 19:52:27 +0000258 {
259 version: "1",
260 imports: ["android.media.audio.common.types-V2"],
261 },
Devin Moorea8efdb12024-02-20 17:31:40 +0000262 {
263 version: "2",
264 imports: ["android.media.audio.common.types-V3"],
265 },
Alex Buynytskyyec1198d2023-04-04 19:52:27 +0000266
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100267 // IMPORTANT: Update latest_android_hardware_audio_core_sounddose every time you
268 // add the latest frozen version to versions_with_info
269 ],
François Gaffie25aff252024-04-15 13:33:51 +0200270 frozen: false,
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100271}
272
273// Note: This should always be one version ahead of the last frozen version
François Gaffie25aff252024-04-15 13:33:51 +0200274latest_android_hardware_audio_core_sounddose = "android.hardware.audio.core.sounddose-V3"
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100275
276// Modules that depend on android.hardware.audio.core.sounddose directly can include
277// the following cc_defaults to avoid explicitly managing dependency versions
278// across many scattered files.
279cc_defaults {
280 name: "latest_android_hardware_audio_core_sounddose_ndk_shared",
281 shared_libs: [
282 latest_android_hardware_audio_core_sounddose + "-ndk",
283 ],
284}
285
286cc_defaults {
Shunkai Yao195d3d62023-10-10 19:26:07 +0000287 name: "latest_android_hardware_audio_core_sounddose_ndk_export_shared_lib_header",
288 export_shared_lib_headers: [
289 latest_android_hardware_audio_core_sounddose + "-ndk",
290 ],
291}
292
293cc_defaults {
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100294 name: "latest_android_hardware_audio_core_sounddose_ndk_static",
295 static_libs: [
296 latest_android_hardware_audio_core_sounddose + "-ndk",
297 ],
298}
299
Shunkai Yao195d3d62023-10-10 19:26:07 +0000300aidl_interface_defaults {
301 name: "latest_android_hardware_audio_core_sounddose_import_interface",
302 imports: [
303 latest_android_hardware_audio_core_sounddose,
304 ],
305}
306
Shunkai Yaof1d60392022-06-30 17:58:56 +0000307aidl_interface {
308 name: "android.hardware.audio.effect",
David Li4d361832022-11-23 15:36:37 +0800309 defaults: [
310 "android.hardware.audio_defaults",
Shunkai Yao195d3d62023-10-10 19:26:07 +0000311 "latest_android_hardware_audio_common_import_interface",
312 "latest_android_media_audio_common_types_import_interface",
Shunkai Yao46807422024-10-17 00:05:58 +0000313 "latest_android_media_audio_eraser_types_import_interface",
David Li4d361832022-11-23 15:36:37 +0800314 ],
Shunkai Yaof1d60392022-06-30 17:58:56 +0000315 srcs: [
Shunkai Yao0b58d822022-12-20 15:45:38 +0000316 "android/hardware/audio/effect/AcousticEchoCanceler.aidl",
Shunkai Yaoca108742023-01-25 01:15:33 +0000317 "android/hardware/audio/effect/AutomaticGainControlV1.aidl",
Shraddha Basantwani84ea32e2023-02-01 16:22:37 +0530318 "android/hardware/audio/effect/AutomaticGainControlV2.aidl",
Shunkai Yao82a6f7a2022-10-31 21:46:08 +0000319 "android/hardware/audio/effect/BassBoost.aidl",
Shunkai Yao0632ae62022-09-28 17:37:50 +0000320 "android/hardware/audio/effect/Capability.aidl",
321 "android/hardware/audio/effect/CommandId.aidl",
Shunkai Yao85b01692023-02-15 22:04:57 +0000322 "android/hardware/audio/effect/DefaultExtension.aidl",
Shunkai Yaof1d60392022-06-30 17:58:56 +0000323 "android/hardware/audio/effect/Descriptor.aidl",
Shunkai Yao82a6f7a2022-10-31 21:46:08 +0000324 "android/hardware/audio/effect/Downmix.aidl",
325 "android/hardware/audio/effect/DynamicsProcessing.aidl",
Shunkai Yao20e5c172022-12-12 07:09:01 +0000326 "android/hardware/audio/effect/EnvironmentalReverb.aidl",
Shunkai Yao0632ae62022-09-28 17:37:50 +0000327 "android/hardware/audio/effect/Equalizer.aidl",
Shunkai Yao46807422024-10-17 00:05:58 +0000328 "android/hardware/audio/effect/Eraser.aidl",
Shunkai Yao0632ae62022-09-28 17:37:50 +0000329 "android/hardware/audio/effect/Flags.aidl",
Shunkai Yao82a6f7a2022-10-31 21:46:08 +0000330 "android/hardware/audio/effect/HapticGenerator.aidl",
Shunkai Yao84efa032022-08-23 17:46:10 +0000331 "android/hardware/audio/effect/IEffect.aidl",
Shunkai Yaof1d60392022-06-30 17:58:56 +0000332 "android/hardware/audio/effect/IFactory.aidl",
Shunkai Yao82a6f7a2022-10-31 21:46:08 +0000333 "android/hardware/audio/effect/LoudnessEnhancer.aidl",
Shunkai Yao0b58d822022-12-20 15:45:38 +0000334 "android/hardware/audio/effect/NoiseSuppression.aidl",
Shunkai Yao0632ae62022-09-28 17:37:50 +0000335 "android/hardware/audio/effect/Parameter.aidl",
Shunkai Yao20e5c172022-12-12 07:09:01 +0000336 "android/hardware/audio/effect/PresetReverb.aidl",
Shunkai Yao08b687d2022-10-13 21:11:11 +0000337 "android/hardware/audio/effect/Processing.aidl",
Shunkai Yao88b24b22023-01-24 22:56:26 +0000338 "android/hardware/audio/effect/Range.aidl",
Shunkai Yao992b0092023-03-14 01:43:18 +0000339 "android/hardware/audio/effect/Spatializer.aidl",
Shunkai Yao0632ae62022-09-28 17:37:50 +0000340 "android/hardware/audio/effect/State.aidl",
Shunkai Yao82a6f7a2022-10-31 21:46:08 +0000341 "android/hardware/audio/effect/VendorExtension.aidl",
342 "android/hardware/audio/effect/Virtualizer.aidl",
343 "android/hardware/audio/effect/Visualizer.aidl",
344 "android/hardware/audio/effect/Volume.aidl",
Shunkai Yaof1d60392022-06-30 17:58:56 +0000345 ],
346 imports: [
Shunkai Yao0632ae62022-09-28 17:37:50 +0000347 "android.hardware.common-V2",
348 "android.hardware.common.fmq-V1",
Shunkai Yaof1d60392022-06-30 17:58:56 +0000349 ],
Shunkai Yaof1d60392022-06-30 17:58:56 +0000350 backend: {
351 // The C++ backend is disabled transitively due to use of FMQ.
352 cpp: {
353 enabled: false,
354 },
355 java: {
356 sdk_version: "module_current",
357 },
358 },
Alex Buynytskyyec1198d2023-04-04 19:52:27 +0000359 versions_with_info: [
360 {
361 version: "1",
362 imports: [
363 "android.hardware.common-V2",
364 "android.hardware.common.fmq-V1",
365 "android.hardware.audio.common-V2",
366 "android.media.audio.common.types-V2",
367 ],
368 },
Devin Moorea8efdb12024-02-20 17:31:40 +0000369 {
370 version: "2",
371 imports: [
372 "android.media.audio.common.types-V3",
373 "android.hardware.audio.common-V3",
374 "android.hardware.common-V2",
375 "android.hardware.common.fmq-V1",
376 ],
377 },
378
Alex Buynytskyyec1198d2023-04-04 19:52:27 +0000379 ],
François Gaffie25aff252024-04-15 13:33:51 +0200380 frozen: false,
Alex Buynytskyyec1198d2023-04-04 19:52:27 +0000381
Shunkai Yaof1d60392022-06-30 17:58:56 +0000382}
Shunkai Yao45905172022-08-24 18:14:02 +0000383
François Gaffie25aff252024-04-15 13:33:51 +0200384latest_android_hardware_audio_effect = "android.hardware.audio.effect-V3"
Shunkai Yao45905172022-08-24 18:14:02 +0000385
386cc_defaults {
387 name: "latest_android_hardware_audio_effect_ndk_shared",
388 shared_libs: [
389 latest_android_hardware_audio_effect + "-ndk",
390 ],
391}
392
393cc_defaults {
394 name: "latest_android_hardware_audio_effect_ndk_static",
395 static_libs: [
396 latest_android_hardware_audio_effect + "-ndk",
397 ],
398}
Shunkai Yao195d3d62023-10-10 19:26:07 +0000399
400aidl_interface_defaults {
401 name: "latest_android_hardware_audio_effect_import_interface",
402 imports: [
403 latest_android_hardware_audio_effect,
404 ],
405}