blob: 89d186c633cb70f876c50cbee9a9d4ffd4202e0d [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 {
18 // See: http://go/android-license-faq
19 // A large-scale-change added 'default_applicable_licenses' to import
20 // all of the 'license_kinds' from "hardware_interfaces_license"
21 // to get the below license kinds:
22 // SPDX-license-identifier-Apache-2.0
23 default_applicable_licenses: ["hardware_interfaces_license"],
24}
25
David Li4d361832022-11-23 15:36:37 +080026aidl_interface_defaults {
27 name: "android.hardware.audio_defaults",
28 host_supported: true,
29 vendor_available: true,
30 stability: "vintf",
31}
32
Josh Wu73cddd12021-10-26 14:00:00 -070033aidl_interface {
34 name: "android.hardware.audio.common",
David Li4d361832022-11-23 15:36:37 +080035 defaults: [
36 "android.hardware.audio_defaults",
Shunkai Yao195d3d62023-10-10 19:26:07 +000037 "latest_android_media_audio_common_types_import_interface",
David Li4d361832022-11-23 15:36:37 +080038 ],
Josh Wu73cddd12021-10-26 14:00:00 -070039 srcs: [
Mikhail Naganov9940a552023-02-24 19:50:51 -080040 "android/hardware/audio/common/AudioOffloadMetadata.aidl",
Josh Wu73cddd12021-10-26 14:00:00 -070041 "android/hardware/audio/common/PlaybackTrackMetadata.aidl",
42 "android/hardware/audio/common/RecordTrackMetadata.aidl",
43 "android/hardware/audio/common/SinkMetadata.aidl",
44 "android/hardware/audio/common/SourceMetadata.aidl",
45 ],
Shunkai Yao195d3d62023-10-10 19:26:07 +000046 frozen: false,
Josh Wu73cddd12021-10-26 14:00:00 -070047 backend: {
48 cpp: {
49 enabled: true,
50 },
51 java: {
Francois Gaffie5d7af1e2022-02-02 11:12:08 +010052 sdk_version: "module_current",
53 min_sdk_version: "31",
54 apex_available: [
55 "//apex_available:platform",
56 "com.android.car.framework",
57 ],
Josh Wu73cddd12021-10-26 14:00:00 -070058 },
59 ndk: {
Roopa Sattiraju7455efc2022-02-03 14:15:22 -080060 apex_available: [
61 "//apex_available:platform",
William Escande2591c3d2022-08-22 11:27:58 -070062 "com.android.btservices",
Roopa Sattiraju7455efc2022-02-03 14:15:22 -080063 ],
64 min_sdk_version: "31",
Josh Wu73cddd12021-10-26 14:00:00 -070065 },
66 },
Jiyong Park703e9792022-03-22 14:18:48 +090067 versions_with_info: [
68 {
69 version: "1",
Lorena Torres-Huerta308e2572022-08-29 21:48:01 +000070 imports: ["android.media.audio.common.types-V2"],
Jiyong Park703e9792022-03-22 14:18:48 +090071 },
Alex Buynytskyyec1198d2023-04-04 19:52:27 +000072 {
73 version: "2",
74 imports: ["android.media.audio.common.types-V2"],
75 },
76
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +000077 // IMPORTANT: Update latest_android_hardware_audio_common every time you
78 // add the latest frozen version to versions_with_info
Josh Wu73cddd12021-10-26 14:00:00 -070079 ],
Jiyong Park703e9792022-03-22 14:18:48 +090080
Josh Wu73cddd12021-10-26 14:00:00 -070081}
Mikhail Naganovbd4013f2021-11-11 20:55:41 +000082
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +000083// Note: This should always be one version ahead of the last frozen version
Shunkai Yao195d3d62023-10-10 19:26:07 +000084latest_android_hardware_audio_common = "android.hardware.audio.common-V3"
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +000085
86// Modules that depend on android.hardware.audio.common directly can include
87// the following cc_defaults to avoid explicitly managing dependency versions
88// across many scattered files.
89cc_defaults {
Lorena Torres-Huerta308e2572022-08-29 21:48:01 +000090 name: "latest_android_hardware_audio_common_cpp_static",
91 static_libs: [
92 latest_android_hardware_audio_common + "-cpp",
93 ],
94}
95
96cc_defaults {
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +000097 name: "latest_android_hardware_audio_common_ndk_static",
98 static_libs: [
99 latest_android_hardware_audio_common + "-ndk",
100 ],
101}
102
David Li4d361832022-11-23 15:36:37 +0800103cc_defaults {
104 name: "latest_android_hardware_audio_common_ndk_shared",
105 shared_libs: [
106 latest_android_hardware_audio_common + "-ndk",
107 ],
108}
109
Shunkai Yao195d3d62023-10-10 19:26:07 +0000110aidl_interface_defaults {
111 name: "latest_android_hardware_audio_common_import_interface",
112 imports: [
113 latest_android_hardware_audio_common,
114 ],
115}
116
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000117aidl_interface {
118 name: "android.hardware.audio.core",
David Li4d361832022-11-23 15:36:37 +0800119 defaults: [
120 "android.hardware.audio_defaults",
Shunkai Yao195d3d62023-10-10 19:26:07 +0000121 "latest_android_hardware_audio_common_import_interface",
122 "latest_android_hardware_audio_core_sounddose_import_interface",
123 "latest_android_hardware_audio_effect_import_interface",
124 "latest_android_media_audio_common_types_import_interface",
David Li4d361832022-11-23 15:36:37 +0800125 ],
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000126 srcs: [
127 "android/hardware/audio/core/AudioPatch.aidl",
128 "android/hardware/audio/core/AudioRoute.aidl",
Mikhail Naganov10c6fe22022-09-30 23:49:17 +0000129 "android/hardware/audio/core/IBluetooth.aidl",
Mikhail Naganov3caf6592023-02-27 18:51:44 -0800130 "android/hardware/audio/core/IBluetoothA2dp.aidl",
Mikhail Naganov4fae3192023-03-06 14:37:38 -0800131 "android/hardware/audio/core/IBluetoothLe.aidl",
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000132 "android/hardware/audio/core/IConfig.aidl",
133 "android/hardware/audio/core/IModule.aidl",
Mikhail Naganov30301a42022-09-13 01:20:45 +0000134 "android/hardware/audio/core/IStreamCallback.aidl",
Mikhail Naganove9f10fc2022-10-14 23:31:52 +0000135 "android/hardware/audio/core/IStreamCommon.aidl",
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000136 "android/hardware/audio/core/IStreamIn.aidl",
137 "android/hardware/audio/core/IStreamOut.aidl",
Mikhail Naganov74927202022-12-19 16:37:14 +0000138 "android/hardware/audio/core/IStreamOutEventCallback.aidl",
Mikhail Naganov3b125b72022-10-05 02:12:39 +0000139 "android/hardware/audio/core/ITelephony.aidl",
Mikhail Naganov6a4872d2022-06-15 21:39:04 +0000140 "android/hardware/audio/core/MmapBufferDescriptor.aidl",
Mikhail Naganov00603d12022-05-02 22:52:13 +0000141 "android/hardware/audio/core/ModuleDebug.aidl",
Mikhail Naganov6a4872d2022-06-15 21:39:04 +0000142 "android/hardware/audio/core/StreamDescriptor.aidl",
Lorena Torres-Huerta0ba91e52022-10-05 21:56:42 +0000143 "android/hardware/audio/core/SurroundSoundConfig.aidl",
Mikhail Naganove9f10fc2022-10-14 23:31:52 +0000144 "android/hardware/audio/core/VendorParameter.aidl",
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000145 ],
146 imports: [
Mikhail Naganov6a4872d2022-06-15 21:39:04 +0000147 "android.hardware.common-V2",
148 "android.hardware.common.fmq-V1",
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000149 ],
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000150 backend: {
Mikhail Naganovf84d6402022-06-16 00:35:31 +0000151 // The C++ backend is disabled transitively due to use of FMQ.
152 cpp: {
153 enabled: false,
154 },
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000155 java: {
Mikhail Naganov409ce2a2022-08-04 17:20:27 +0000156 sdk_version: "module_current",
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000157 },
158 },
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +0000159 versions_with_info: [
Alex Buynytskyyec1198d2023-04-04 19:52:27 +0000160 {
161 version: "1",
162 imports: [
163 "android.hardware.common-V2",
164 "android.hardware.common.fmq-V1",
165 "android.hardware.audio.common-V2",
166 "android.hardware.audio.core.sounddose-V1",
167 "android.hardware.audio.effect-V1",
168 "android.media.audio.common.types-V2",
169 ],
170 },
171
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +0000172 // IMPORTANT: Update latest_android_hardware_audio_core every time you
173 // add the latest frozen version to versions_with_info
174 ],
Shunkai Yao195d3d62023-10-10 19:26:07 +0000175 frozen: false,
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +0000176}
177
178// Note: This should always be one version ahead of the last frozen version
Shunkai Yao195d3d62023-10-10 19:26:07 +0000179latest_android_hardware_audio_core = "android.hardware.audio.core-V2"
Lorena Torres-Huerta9ae4f222022-08-12 23:08:10 +0000180
181// Modules that depend on android.hardware.audio.core directly can include
182// the following cc_defaults to avoid explicitly managing dependency versions
183// across many scattered files.
184cc_defaults {
185 name: "latest_android_hardware_audio_core_ndk_shared",
186 shared_libs: [
187 latest_android_hardware_audio_core + "-ndk",
188 ],
189}
190
191cc_defaults {
192 name: "latest_android_hardware_audio_core_ndk_static",
193 static_libs: [
194 latest_android_hardware_audio_core + "-ndk",
195 ],
Mikhail Naganovbd4013f2021-11-11 20:55:41 +0000196}
Shunkai Yaof1d60392022-06-30 17:58:56 +0000197
Shunkai Yao195d3d62023-10-10 19:26:07 +0000198aidl_interface_defaults {
199 name: "latest_android_hardware_audio_core_import_interface",
200 imports: [
201 latest_android_hardware_audio_core,
202 ],
203}
204
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100205// Used for the standalone sounddose HAL
206aidl_interface {
207 name: "android.hardware.audio.core.sounddose",
208 defaults: [
209 "android.hardware.audio_defaults",
Shunkai Yao195d3d62023-10-10 19:26:07 +0000210 "latest_android_media_audio_common_types_import_interface",
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100211 ],
212 srcs: [
Vlad Popa2afbd1e2022-12-28 17:04:58 +0100213 "android/hardware/audio/core/sounddose/ISoundDose.aidl",
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100214 ],
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100215 backend: {
216 // The C++ backend is disabled transitively due to use of FMQ by the core HAL.
217 cpp: {
218 enabled: false,
219 },
220 java: {
221 sdk_version: "module_current",
222 },
223 },
224 versions_with_info: [
Alex Buynytskyyec1198d2023-04-04 19:52:27 +0000225 {
226 version: "1",
227 imports: ["android.media.audio.common.types-V2"],
228 },
229
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100230 // IMPORTANT: Update latest_android_hardware_audio_core_sounddose every time you
231 // add the latest frozen version to versions_with_info
232 ],
Shunkai Yao195d3d62023-10-10 19:26:07 +0000233 frozen: false,
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100234}
235
236// Note: This should always be one version ahead of the last frozen version
Shunkai Yao195d3d62023-10-10 19:26:07 +0000237latest_android_hardware_audio_core_sounddose = "android.hardware.audio.core.sounddose-V2"
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100238
239// Modules that depend on android.hardware.audio.core.sounddose directly can include
240// the following cc_defaults to avoid explicitly managing dependency versions
241// across many scattered files.
242cc_defaults {
243 name: "latest_android_hardware_audio_core_sounddose_ndk_shared",
244 shared_libs: [
245 latest_android_hardware_audio_core_sounddose + "-ndk",
246 ],
247}
248
249cc_defaults {
Shunkai Yao195d3d62023-10-10 19:26:07 +0000250 name: "latest_android_hardware_audio_core_sounddose_ndk_export_shared_lib_header",
251 export_shared_lib_headers: [
252 latest_android_hardware_audio_core_sounddose + "-ndk",
253 ],
254}
255
256cc_defaults {
Vlad Popaf4fe41c2022-12-14 11:57:26 +0100257 name: "latest_android_hardware_audio_core_sounddose_ndk_static",
258 static_libs: [
259 latest_android_hardware_audio_core_sounddose + "-ndk",
260 ],
261}
262
Shunkai Yao195d3d62023-10-10 19:26:07 +0000263aidl_interface_defaults {
264 name: "latest_android_hardware_audio_core_sounddose_import_interface",
265 imports: [
266 latest_android_hardware_audio_core_sounddose,
267 ],
268}
269
Shunkai Yaof1d60392022-06-30 17:58:56 +0000270aidl_interface {
271 name: "android.hardware.audio.effect",
David Li4d361832022-11-23 15:36:37 +0800272 defaults: [
273 "android.hardware.audio_defaults",
Shunkai Yao195d3d62023-10-10 19:26:07 +0000274 "latest_android_hardware_audio_common_import_interface",
275 "latest_android_media_audio_common_types_import_interface",
David Li4d361832022-11-23 15:36:37 +0800276 ],
Shunkai Yaof1d60392022-06-30 17:58:56 +0000277 srcs: [
Shunkai Yao0b58d822022-12-20 15:45:38 +0000278 "android/hardware/audio/effect/AcousticEchoCanceler.aidl",
Shunkai Yaoca108742023-01-25 01:15:33 +0000279 "android/hardware/audio/effect/AutomaticGainControlV1.aidl",
Shraddha Basantwani84ea32e2023-02-01 16:22:37 +0530280 "android/hardware/audio/effect/AutomaticGainControlV2.aidl",
Shunkai Yao82a6f7a2022-10-31 21:46:08 +0000281 "android/hardware/audio/effect/BassBoost.aidl",
Shunkai Yao0632ae62022-09-28 17:37:50 +0000282 "android/hardware/audio/effect/Capability.aidl",
283 "android/hardware/audio/effect/CommandId.aidl",
Shunkai Yao85b01692023-02-15 22:04:57 +0000284 "android/hardware/audio/effect/DefaultExtension.aidl",
Shunkai Yaof1d60392022-06-30 17:58:56 +0000285 "android/hardware/audio/effect/Descriptor.aidl",
Shunkai Yao82a6f7a2022-10-31 21:46:08 +0000286 "android/hardware/audio/effect/Downmix.aidl",
287 "android/hardware/audio/effect/DynamicsProcessing.aidl",
Shunkai Yao20e5c172022-12-12 07:09:01 +0000288 "android/hardware/audio/effect/EnvironmentalReverb.aidl",
Shunkai Yao0632ae62022-09-28 17:37:50 +0000289 "android/hardware/audio/effect/Equalizer.aidl",
290 "android/hardware/audio/effect/Flags.aidl",
Shunkai Yao82a6f7a2022-10-31 21:46:08 +0000291 "android/hardware/audio/effect/HapticGenerator.aidl",
Shunkai Yao84efa032022-08-23 17:46:10 +0000292 "android/hardware/audio/effect/IEffect.aidl",
Shunkai Yaof1d60392022-06-30 17:58:56 +0000293 "android/hardware/audio/effect/IFactory.aidl",
Shunkai Yao82a6f7a2022-10-31 21:46:08 +0000294 "android/hardware/audio/effect/LoudnessEnhancer.aidl",
Shunkai Yao0b58d822022-12-20 15:45:38 +0000295 "android/hardware/audio/effect/NoiseSuppression.aidl",
Shunkai Yao0632ae62022-09-28 17:37:50 +0000296 "android/hardware/audio/effect/Parameter.aidl",
Shunkai Yao20e5c172022-12-12 07:09:01 +0000297 "android/hardware/audio/effect/PresetReverb.aidl",
Shunkai Yao08b687d2022-10-13 21:11:11 +0000298 "android/hardware/audio/effect/Processing.aidl",
Shunkai Yao88b24b22023-01-24 22:56:26 +0000299 "android/hardware/audio/effect/Range.aidl",
Shunkai Yao992b0092023-03-14 01:43:18 +0000300 "android/hardware/audio/effect/Spatializer.aidl",
Shunkai Yao0632ae62022-09-28 17:37:50 +0000301 "android/hardware/audio/effect/State.aidl",
Shunkai Yao82a6f7a2022-10-31 21:46:08 +0000302 "android/hardware/audio/effect/VendorExtension.aidl",
303 "android/hardware/audio/effect/Virtualizer.aidl",
304 "android/hardware/audio/effect/Visualizer.aidl",
305 "android/hardware/audio/effect/Volume.aidl",
Shunkai Yaof1d60392022-06-30 17:58:56 +0000306 ],
307 imports: [
Shunkai Yao0632ae62022-09-28 17:37:50 +0000308 "android.hardware.common-V2",
309 "android.hardware.common.fmq-V1",
Shunkai Yaof1d60392022-06-30 17:58:56 +0000310 ],
Shunkai Yaof1d60392022-06-30 17:58:56 +0000311 backend: {
312 // The C++ backend is disabled transitively due to use of FMQ.
313 cpp: {
314 enabled: false,
315 },
316 java: {
317 sdk_version: "module_current",
318 },
319 },
Alex Buynytskyyec1198d2023-04-04 19:52:27 +0000320 versions_with_info: [
321 {
322 version: "1",
323 imports: [
324 "android.hardware.common-V2",
325 "android.hardware.common.fmq-V1",
326 "android.hardware.audio.common-V2",
327 "android.media.audio.common.types-V2",
328 ],
329 },
330 ],
Shunkai Yao195d3d62023-10-10 19:26:07 +0000331 frozen: false,
Alex Buynytskyyec1198d2023-04-04 19:52:27 +0000332
Shunkai Yaof1d60392022-06-30 17:58:56 +0000333}
Shunkai Yao45905172022-08-24 18:14:02 +0000334
Shunkai Yao195d3d62023-10-10 19:26:07 +0000335latest_android_hardware_audio_effect = "android.hardware.audio.effect-V2"
Shunkai Yao45905172022-08-24 18:14:02 +0000336
337cc_defaults {
338 name: "latest_android_hardware_audio_effect_ndk_shared",
339 shared_libs: [
340 latest_android_hardware_audio_effect + "-ndk",
341 ],
342}
343
344cc_defaults {
345 name: "latest_android_hardware_audio_effect_ndk_static",
346 static_libs: [
347 latest_android_hardware_audio_effect + "-ndk",
348 ],
349}
Shunkai Yao195d3d62023-10-10 19:26:07 +0000350
351aidl_interface_defaults {
352 name: "latest_android_hardware_audio_effect_import_interface",
353 imports: [
354 latest_android_hardware_audio_effect,
355 ],
356}