blob: 8bb8cd56124c0e2caa2a14fabde7741cd90a22c3 [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 Moore329f3b32024-03-05 21:43:10 +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 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 },
67 },
Jiyong Park703e9792022-03-22 14:18:48 +090068 versions_with_info: [
69 {
70 version: "1",
Lorena Torres-Huerta308e2572022-08-29 21:48:01 +000071 imports: ["android.media.audio.common.types-V2"],
Jiyong Park703e9792022-03-22 14:18:48 +090072 },
Alex Buynytskyyec1198d2023-04-04 19:52:27 +000073 {
74 version: "2",
75 imports: ["android.media.audio.common.types-V2"],
76 },
Devin Moore329f3b32024-03-05 21:43:10 +000077 {
78 version: "3",
79 imports: ["android.media.audio.common.types-V3"],
80 },
Alex Buynytskyyec1198d2023-04-04 19:52:27 +000081
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +000082 // IMPORTANT: Update latest_android_hardware_audio_common every time you
83 // add the latest frozen version to versions_with_info
Josh Wu73cddd12021-10-26 14:00:00 -070084 ],
Jiyong Park703e9792022-03-22 14:18:48 +090085
Josh Wu73cddd12021-10-26 14:00:00 -070086}
Mikhail Naganovbd4013f2021-11-11 20:55:41 +000087
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +000088// Note: This should always be one version ahead of the last frozen version
Shunkai Yao195d3d62023-10-10 19:26:07 +000089latest_android_hardware_audio_common = "android.hardware.audio.common-V3"
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +000090
91// Modules that depend on android.hardware.audio.common directly can include
92// the following cc_defaults to avoid explicitly managing dependency versions
93// across many scattered files.
94cc_defaults {
Lorena Torres-Huerta308e2572022-08-29 21:48:01 +000095 name: "latest_android_hardware_audio_common_cpp_static",
96 static_libs: [
97 latest_android_hardware_audio_common + "-cpp",
98 ],
99}
100
101cc_defaults {
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +0000102 name: "latest_android_hardware_audio_common_ndk_static",
103 static_libs: [
104 latest_android_hardware_audio_common + "-ndk",
105 ],
106}
107
David Li4d361832022-11-23 15:36:37 +0800108cc_defaults {
109 name: "latest_android_hardware_audio_common_ndk_shared",
110 shared_libs: [
111 latest_android_hardware_audio_common + "-ndk",
112 ],
113}
114
Shunkai Yao195d3d62023-10-10 19:26:07 +0000115aidl_interface_defaults {
116 name: "latest_android_hardware_audio_common_import_interface",
117 imports: [
118 latest_android_hardware_audio_common,
119 ],
120}
121
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000122aidl_interface {
123 name: "android.hardware.audio.core",
David Li4d361832022-11-23 15:36:37 +0800124 defaults: [
125 "android.hardware.audio_defaults",
Shunkai Yao195d3d62023-10-10 19:26:07 +0000126 "latest_android_hardware_audio_common_import_interface",
127 "latest_android_hardware_audio_core_sounddose_import_interface",
128 "latest_android_hardware_audio_effect_import_interface",
129 "latest_android_media_audio_common_types_import_interface",
David Li4d361832022-11-23 15:36:37 +0800130 ],
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000131 srcs: [
132 "android/hardware/audio/core/AudioPatch.aidl",
133 "android/hardware/audio/core/AudioRoute.aidl",
Mikhail Naganov10c6fe22022-09-30 23:49:17 +0000134 "android/hardware/audio/core/IBluetooth.aidl",
Mikhail Naganov3caf6592023-02-27 18:51:44 -0800135 "android/hardware/audio/core/IBluetoothA2dp.aidl",
Mikhail Naganov4fae3192023-03-06 14:37:38 -0800136 "android/hardware/audio/core/IBluetoothLe.aidl",
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000137 "android/hardware/audio/core/IConfig.aidl",
138 "android/hardware/audio/core/IModule.aidl",
Mikhail Naganov30301a42022-09-13 01:20:45 +0000139 "android/hardware/audio/core/IStreamCallback.aidl",
Mikhail Naganove9f10fc2022-10-14 23:31:52 +0000140 "android/hardware/audio/core/IStreamCommon.aidl",
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000141 "android/hardware/audio/core/IStreamIn.aidl",
142 "android/hardware/audio/core/IStreamOut.aidl",
Mikhail Naganov74927202022-12-19 16:37:14 +0000143 "android/hardware/audio/core/IStreamOutEventCallback.aidl",
Mikhail Naganov3b125b72022-10-05 02:12:39 +0000144 "android/hardware/audio/core/ITelephony.aidl",
Mikhail Naganov6a4872d2022-06-15 21:39:04 +0000145 "android/hardware/audio/core/MmapBufferDescriptor.aidl",
Mikhail Naganov00603d12022-05-02 22:52:13 +0000146 "android/hardware/audio/core/ModuleDebug.aidl",
Mikhail Naganov6a4872d2022-06-15 21:39:04 +0000147 "android/hardware/audio/core/StreamDescriptor.aidl",
Lorena Torres-Huerta0ba91e52022-10-05 21:56:42 +0000148 "android/hardware/audio/core/SurroundSoundConfig.aidl",
Mikhail Naganove9f10fc2022-10-14 23:31:52 +0000149 "android/hardware/audio/core/VendorParameter.aidl",
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000150 ],
151 imports: [
Mikhail Naganov6a4872d2022-06-15 21:39:04 +0000152 "android.hardware.common-V2",
153 "android.hardware.common.fmq-V1",
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000154 ],
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000155 backend: {
Mikhail Naganovf84d6402022-06-16 00:35:31 +0000156 // The C++ backend is disabled transitively due to use of FMQ.
157 cpp: {
158 enabled: false,
159 },
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000160 java: {
Mikhail Naganov409ce2a2022-08-04 17:20:27 +0000161 sdk_version: "module_current",
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000162 },
163 },
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +0000164 versions_with_info: [
Alex Buynytskyyec1198d2023-04-04 19:52:27 +0000165 {
166 version: "1",
167 imports: [
168 "android.hardware.common-V2",
169 "android.hardware.common.fmq-V1",
170 "android.hardware.audio.common-V2",
171 "android.hardware.audio.core.sounddose-V1",
172 "android.hardware.audio.effect-V1",
173 "android.media.audio.common.types-V2",
174 ],
175 },
Devin Moore329f3b32024-03-05 21:43:10 +0000176 {
177 version: "2",
178 imports: [
179 "android.media.audio.common.types-V3",
180 "android.hardware.audio.effect-V2",
181 "android.hardware.audio.core.sounddose-V2",
182 "android.hardware.audio.common-V3",
183 "android.hardware.common-V2",
184 "android.hardware.common.fmq-V1",
185 ],
186 },
Alex Buynytskyyec1198d2023-04-04 19:52:27 +0000187
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +0000188 // IMPORTANT: Update latest_android_hardware_audio_core every time you
189 // add the latest frozen version to versions_with_info
190 ],
Devin Moore329f3b32024-03-05 21:43:10 +0000191 frozen: true,
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +0000192}
193
194// Note: This should always be one version ahead of the last frozen version
Shunkai Yao195d3d62023-10-10 19:26:07 +0000195latest_android_hardware_audio_core = "android.hardware.audio.core-V2"
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +0000196
197// Modules that depend on android.hardware.audio.core directly can include
198// the following cc_defaults to avoid explicitly managing dependency versions
199// across many scattered files.
200cc_defaults {
201 name: "latest_android_hardware_audio_core_ndk_shared",
202 shared_libs: [
203 latest_android_hardware_audio_core + "-ndk",
204 ],
205}
206
207cc_defaults {
208 name: "latest_android_hardware_audio_core_ndk_static",
209 static_libs: [
210 latest_android_hardware_audio_core + "-ndk",
211 ],
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000212}
Shunkai Yaof1d60392022-06-30 17:58:56 +0000213
Shunkai Yao195d3d62023-10-10 19:26:07 +0000214aidl_interface_defaults {
215 name: "latest_android_hardware_audio_core_import_interface",
216 imports: [
217 latest_android_hardware_audio_core,
218 ],
219}
220
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100221// Used for the standalone sounddose HAL
222aidl_interface {
223 name: "android.hardware.audio.core.sounddose",
224 defaults: [
225 "android.hardware.audio_defaults",
Shunkai Yao195d3d62023-10-10 19:26:07 +0000226 "latest_android_media_audio_common_types_import_interface",
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100227 ],
228 srcs: [
Vlad Popa2afbd1e2022-12-28 17:04:58 +0100229 "android/hardware/audio/core/sounddose/ISoundDose.aidl",
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100230 ],
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100231 backend: {
232 // The C++ backend is disabled transitively due to use of FMQ by the core HAL.
233 cpp: {
234 enabled: false,
235 },
236 java: {
237 sdk_version: "module_current",
238 },
239 },
240 versions_with_info: [
Alex Buynytskyyec1198d2023-04-04 19:52:27 +0000241 {
242 version: "1",
243 imports: ["android.media.audio.common.types-V2"],
244 },
Devin Moore329f3b32024-03-05 21:43:10 +0000245 {
246 version: "2",
247 imports: ["android.media.audio.common.types-V3"],
248 },
Alex Buynytskyyec1198d2023-04-04 19:52:27 +0000249
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100250 // IMPORTANT: Update latest_android_hardware_audio_core_sounddose every time you
251 // add the latest frozen version to versions_with_info
252 ],
Devin Moore329f3b32024-03-05 21:43:10 +0000253 frozen: true,
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100254}
255
256// Note: This should always be one version ahead of the last frozen version
Shunkai Yao195d3d62023-10-10 19:26:07 +0000257latest_android_hardware_audio_core_sounddose = "android.hardware.audio.core.sounddose-V2"
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100258
259// Modules that depend on android.hardware.audio.core.sounddose directly can include
260// the following cc_defaults to avoid explicitly managing dependency versions
261// across many scattered files.
262cc_defaults {
263 name: "latest_android_hardware_audio_core_sounddose_ndk_shared",
264 shared_libs: [
265 latest_android_hardware_audio_core_sounddose + "-ndk",
266 ],
267}
268
269cc_defaults {
Shunkai Yao195d3d62023-10-10 19:26:07 +0000270 name: "latest_android_hardware_audio_core_sounddose_ndk_export_shared_lib_header",
271 export_shared_lib_headers: [
272 latest_android_hardware_audio_core_sounddose + "-ndk",
273 ],
274}
275
276cc_defaults {
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100277 name: "latest_android_hardware_audio_core_sounddose_ndk_static",
278 static_libs: [
279 latest_android_hardware_audio_core_sounddose + "-ndk",
280 ],
281}
282
Shunkai Yao195d3d62023-10-10 19:26:07 +0000283aidl_interface_defaults {
284 name: "latest_android_hardware_audio_core_sounddose_import_interface",
285 imports: [
286 latest_android_hardware_audio_core_sounddose,
287 ],
288}
289
Shunkai Yaof1d60392022-06-30 17:58:56 +0000290aidl_interface {
291 name: "android.hardware.audio.effect",
David Li4d361832022-11-23 15:36:37 +0800292 defaults: [
293 "android.hardware.audio_defaults",
Shunkai Yao195d3d62023-10-10 19:26:07 +0000294 "latest_android_hardware_audio_common_import_interface",
295 "latest_android_media_audio_common_types_import_interface",
David Li4d361832022-11-23 15:36:37 +0800296 ],
Shunkai Yaof1d60392022-06-30 17:58:56 +0000297 srcs: [
Shunkai Yao0b58d822022-12-20 15:45:38 +0000298 "android/hardware/audio/effect/AcousticEchoCanceler.aidl",
Shunkai Yaoca108742023-01-25 01:15:33 +0000299 "android/hardware/audio/effect/AutomaticGainControlV1.aidl",
Shraddha Basantwani84ea32e2023-02-01 16:22:37 +0530300 "android/hardware/audio/effect/AutomaticGainControlV2.aidl",
Shunkai Yao82a6f7a2022-10-31 21:46:08 +0000301 "android/hardware/audio/effect/BassBoost.aidl",
Shunkai Yao0632ae62022-09-28 17:37:50 +0000302 "android/hardware/audio/effect/Capability.aidl",
303 "android/hardware/audio/effect/CommandId.aidl",
Shunkai Yao85b01692023-02-15 22:04:57 +0000304 "android/hardware/audio/effect/DefaultExtension.aidl",
Shunkai Yaof1d60392022-06-30 17:58:56 +0000305 "android/hardware/audio/effect/Descriptor.aidl",
Shunkai Yao82a6f7a2022-10-31 21:46:08 +0000306 "android/hardware/audio/effect/Downmix.aidl",
307 "android/hardware/audio/effect/DynamicsProcessing.aidl",
Shunkai Yao20e5c172022-12-12 07:09:01 +0000308 "android/hardware/audio/effect/EnvironmentalReverb.aidl",
Shunkai Yao0632ae62022-09-28 17:37:50 +0000309 "android/hardware/audio/effect/Equalizer.aidl",
310 "android/hardware/audio/effect/Flags.aidl",
Shunkai Yao82a6f7a2022-10-31 21:46:08 +0000311 "android/hardware/audio/effect/HapticGenerator.aidl",
Shunkai Yao84efa032022-08-23 17:46:10 +0000312 "android/hardware/audio/effect/IEffect.aidl",
Shunkai Yaof1d60392022-06-30 17:58:56 +0000313 "android/hardware/audio/effect/IFactory.aidl",
Shunkai Yao82a6f7a2022-10-31 21:46:08 +0000314 "android/hardware/audio/effect/LoudnessEnhancer.aidl",
Shunkai Yao0b58d822022-12-20 15:45:38 +0000315 "android/hardware/audio/effect/NoiseSuppression.aidl",
Shunkai Yao0632ae62022-09-28 17:37:50 +0000316 "android/hardware/audio/effect/Parameter.aidl",
Shunkai Yao20e5c172022-12-12 07:09:01 +0000317 "android/hardware/audio/effect/PresetReverb.aidl",
Shunkai Yao08b687d2022-10-13 21:11:11 +0000318 "android/hardware/audio/effect/Processing.aidl",
Shunkai Yao88b24b22023-01-24 22:56:26 +0000319 "android/hardware/audio/effect/Range.aidl",
Shunkai Yao992b0092023-03-14 01:43:18 +0000320 "android/hardware/audio/effect/Spatializer.aidl",
Shunkai Yao0632ae62022-09-28 17:37:50 +0000321 "android/hardware/audio/effect/State.aidl",
Shunkai Yao82a6f7a2022-10-31 21:46:08 +0000322 "android/hardware/audio/effect/VendorExtension.aidl",
323 "android/hardware/audio/effect/Virtualizer.aidl",
324 "android/hardware/audio/effect/Visualizer.aidl",
325 "android/hardware/audio/effect/Volume.aidl",
Shunkai Yaof1d60392022-06-30 17:58:56 +0000326 ],
327 imports: [
Shunkai Yao0632ae62022-09-28 17:37:50 +0000328 "android.hardware.common-V2",
329 "android.hardware.common.fmq-V1",
Shunkai Yaof1d60392022-06-30 17:58:56 +0000330 ],
Shunkai Yaof1d60392022-06-30 17:58:56 +0000331 backend: {
332 // The C++ backend is disabled transitively due to use of FMQ.
333 cpp: {
334 enabled: false,
335 },
336 java: {
337 sdk_version: "module_current",
338 },
339 },
Alex Buynytskyyec1198d2023-04-04 19:52:27 +0000340 versions_with_info: [
341 {
342 version: "1",
343 imports: [
344 "android.hardware.common-V2",
345 "android.hardware.common.fmq-V1",
346 "android.hardware.audio.common-V2",
347 "android.media.audio.common.types-V2",
348 ],
349 },
Devin Moore329f3b32024-03-05 21:43:10 +0000350 {
351 version: "2",
352 imports: [
353 "android.media.audio.common.types-V3",
354 "android.hardware.audio.common-V3",
355 "android.hardware.common-V2",
356 "android.hardware.common.fmq-V1",
357 ],
358 },
359
Alex Buynytskyyec1198d2023-04-04 19:52:27 +0000360 ],
Devin Moore329f3b32024-03-05 21:43:10 +0000361 frozen: true,
Alex Buynytskyyec1198d2023-04-04 19:52:27 +0000362
Shunkai Yaof1d60392022-06-30 17:58:56 +0000363}
Shunkai Yao45905172022-08-24 18:14:02 +0000364
Shunkai Yao195d3d62023-10-10 19:26:07 +0000365latest_android_hardware_audio_effect = "android.hardware.audio.effect-V2"
Shunkai Yao45905172022-08-24 18:14:02 +0000366
367cc_defaults {
368 name: "latest_android_hardware_audio_effect_ndk_shared",
369 shared_libs: [
370 latest_android_hardware_audio_effect + "-ndk",
371 ],
372}
373
374cc_defaults {
375 name: "latest_android_hardware_audio_effect_ndk_static",
376 static_libs: [
377 latest_android_hardware_audio_effect + "-ndk",
378 ],
379}
Shunkai Yao195d3d62023-10-10 19:26:07 +0000380
381aidl_interface_defaults {
382 name: "latest_android_hardware_audio_effect_import_interface",
383 imports: [
384 latest_android_hardware_audio_effect,
385 ],
386}