1// Copyright 2020, The Android Open Source Project 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15package { 16 default_applicable_licenses: ["Android-Apache-2.0"], 17} 18 19aidl_interface { 20 name: "android.media.audio.common.types", 21 vendor_available: true, 22 host_supported: true, 23 double_loadable: true, 24 flags: [ 25 "-Werror", 26 "-Weverything", 27 ], 28 local_include_dir: "aidl", 29 srcs: [ 30 "aidl/android/media/audio/common/AudioAttributes.aidl", 31 "aidl/android/media/audio/common/AudioChannelLayout.aidl", 32 "aidl/android/media/audio/common/AudioConfig.aidl", 33 "aidl/android/media/audio/common/AudioConfigBase.aidl", 34 "aidl/android/media/audio/common/AudioContentType.aidl", 35 "aidl/android/media/audio/common/AudioDevice.aidl", 36 "aidl/android/media/audio/common/AudioDeviceAddress.aidl", 37 "aidl/android/media/audio/common/AudioDeviceDescription.aidl", 38 "aidl/android/media/audio/common/AudioDeviceType.aidl", 39 "aidl/android/media/audio/common/AudioDualMonoMode.aidl", 40 "aidl/android/media/audio/common/AudioEncapsulationMetadataType.aidl", 41 "aidl/android/media/audio/common/AudioEncapsulationMode.aidl", 42 "aidl/android/media/audio/common/AudioEncapsulationType.aidl", 43 "aidl/android/media/audio/common/AudioFlag.aidl", 44 "aidl/android/media/audio/common/AudioFormatDescription.aidl", 45 "aidl/android/media/audio/common/AudioFormatType.aidl", 46 "aidl/android/media/audio/common/AudioGain.aidl", 47 "aidl/android/media/audio/common/AudioGainConfig.aidl", 48 "aidl/android/media/audio/common/AudioGainMode.aidl", 49 "aidl/android/media/audio/common/AudioHalAttributesGroup.aidl", 50 "aidl/android/media/audio/common/AudioHalCapConfiguration.aidl", 51 "aidl/android/media/audio/common/AudioHalCapCriterion.aidl", 52 "aidl/android/media/audio/common/AudioHalCapCriterionV2.aidl", 53 "aidl/android/media/audio/common/AudioHalCapCriterionType.aidl", 54 "aidl/android/media/audio/common/AudioHalCapDomain.aidl", 55 "aidl/android/media/audio/common/AudioHalCapParameter.aidl", 56 "aidl/android/media/audio/common/AudioHalCapRule.aidl", 57 "aidl/android/media/audio/common/AudioHalEngineConfig.aidl", 58 "aidl/android/media/audio/common/AudioHalProductStrategy.aidl", 59 "aidl/android/media/audio/common/AudioHalVolumeCurve.aidl", 60 "aidl/android/media/audio/common/AudioHalVolumeGroup.aidl", 61 "aidl/android/media/audio/common/AudioInputFlags.aidl", 62 "aidl/android/media/audio/common/AudioIoFlags.aidl", 63 "aidl/android/media/audio/common/AudioLatencyMode.aidl", 64 "aidl/android/media/audio/common/AudioMMapPolicy.aidl", 65 "aidl/android/media/audio/common/AudioMMapPolicyInfo.aidl", 66 "aidl/android/media/audio/common/AudioMMapPolicyType.aidl", 67 "aidl/android/media/audio/common/AudioMode.aidl", 68 "aidl/android/media/audio/common/AudioOffloadInfo.aidl", 69 "aidl/android/media/audio/common/AudioOutputFlags.aidl", 70 "aidl/android/media/audio/common/AudioPlaybackRate.aidl", 71 "aidl/android/media/audio/common/AudioPolicyForceUse.aidl", 72 "aidl/android/media/audio/common/AudioPort.aidl", 73 "aidl/android/media/audio/common/AudioPortConfig.aidl", 74 "aidl/android/media/audio/common/AudioPortDeviceExt.aidl", 75 "aidl/android/media/audio/common/AudioPortExt.aidl", 76 "aidl/android/media/audio/common/AudioPortMixExt.aidl", 77 "aidl/android/media/audio/common/AudioPortMixExtUseCase.aidl", 78 "aidl/android/media/audio/common/AudioProductStrategyType.aidl", 79 "aidl/android/media/audio/common/AudioProfile.aidl", 80 "aidl/android/media/audio/common/AudioSource.aidl", 81 "aidl/android/media/audio/common/AudioStandard.aidl", 82 "aidl/android/media/audio/common/AudioStreamType.aidl", 83 "aidl/android/media/audio/common/AudioUsage.aidl", 84 "aidl/android/media/audio/common/AudioUuid.aidl", 85 "aidl/android/media/audio/common/AudioVolumeGroupChangeEvent.aidl", 86 "aidl/android/media/audio/common/Boolean.aidl", 87 "aidl/android/media/audio/common/Byte.aidl", 88 "aidl/android/media/audio/common/ExtraAudioDescriptor.aidl", 89 "aidl/android/media/audio/common/Float.aidl", 90 "aidl/android/media/audio/common/Double.aidl", 91 "aidl/android/media/audio/common/HeadTracking.aidl", 92 "aidl/android/media/audio/common/Int.aidl", 93 "aidl/android/media/audio/common/Long.aidl", 94 "aidl/android/media/audio/common/MicrophoneDynamicInfo.aidl", 95 "aidl/android/media/audio/common/MicrophoneInfo.aidl", 96 "aidl/android/media/audio/common/PcmType.aidl", 97 "aidl/android/media/audio/common/Spatialization.aidl", 98 "aidl/android/media/audio/common/Void.aidl", 99 ], 100 stability: "vintf", 101 backend: { 102 cpp: { 103 min_sdk_version: "29", 104 apex_available: [ 105 "//apex_available:platform", 106 "com.android.media", 107 ], 108 }, 109 java: { 110 sdk_version: "module_current", 111 min_sdk_version: "29", 112 apex_available: [ 113 "//apex_available:platform", 114 "com.android.car.framework", 115 ], 116 lint: { 117 baseline_filename: "lint-baseline.xml", 118 }, 119 }, 120 ndk: { 121 min_sdk_version: "29", 122 apex_available: [ 123 "//apex_available:platform", 124 "com.android.bt", 125 ], 126 }, 127 rust: { 128 enabled: true, 129 }, 130 }, 131 versions_with_info: [ 132 { 133 version: "1", 134 imports: [], 135 }, 136 { 137 version: "2", 138 imports: [], 139 }, 140 { 141 version: "3", 142 imports: [], 143 }, 144 { 145 version: "4", 146 imports: [], 147 }, 148 149 // IMPORTANT: Update latest_android_media_audio_common_types every time 150 // you add the latest frozen version to versions_with_info 151 ], 152 frozen: true, 153 154} 155 156// Note: This should always be one version ahead of the last frozen version 157latest_android_media_audio_common_types = "android.media.audio.common.types-V4" 158 159// Modules that depend on android.media.audio.common.types directly can include 160// the following cc_defaults to avoid explicitly managing dependency versions 161// across many scattered files. 162cc_defaults { 163 name: "latest_android_media_audio_common_types_cpp_shared", 164 shared_libs: [ 165 latest_android_media_audio_common_types + "-cpp", 166 ], 167} 168 169cc_defaults { 170 name: "latest_android_media_audio_common_types_cpp_export_shared", 171 defaults: [ 172 "latest_android_media_audio_common_types_cpp_shared", 173 ], 174 export_shared_lib_headers: [ 175 latest_android_media_audio_common_types + "-cpp", 176 ], 177} 178 179cc_defaults { 180 name: "latest_android_media_audio_common_types_cpp_static", 181 static_libs: [ 182 latest_android_media_audio_common_types + "-cpp", 183 ], 184} 185 186cc_defaults { 187 name: "latest_android_media_audio_common_types_cpp_export_static", 188 defaults: [ 189 "latest_android_media_audio_common_types_cpp_static", 190 ], 191 export_static_lib_headers: [ 192 latest_android_media_audio_common_types + "-cpp", 193 ], 194} 195 196cc_defaults { 197 name: "latest_android_media_audio_common_types_ndk_shared", 198 shared_libs: [ 199 latest_android_media_audio_common_types + "-ndk", 200 ], 201} 202 203cc_defaults { 204 name: "latest_android_media_audio_common_types_ndk_static", 205 static_libs: [ 206 latest_android_media_audio_common_types + "-ndk", 207 ], 208} 209 210cc_defaults { 211 name: "latest_android_media_audio_common_types_cpp_target_shared", 212 target: { 213 android: { 214 shared_libs: [ 215 latest_android_media_audio_common_types + "-cpp", 216 ], 217 }, 218 }, 219} 220 221rust_defaults { 222 name: "latest_android_media_audio_common_types_rust", 223 rustlibs: [ 224 latest_android_media_audio_common_types + "-rust", 225 ], 226} 227 228aidl_interface_defaults { 229 name: "latest_android_media_audio_common_types_import_interface", 230 imports: [ 231 latest_android_media_audio_common_types, 232 ], 233} 234 235aidl_interface { 236 name: "android.media.soundtrigger.types", 237 vendor_available: true, 238 host_supported: true, 239 flags: [ 240 "-Werror", 241 "-Weverything", 242 ], 243 local_include_dir: "aidl", 244 srcs: [ 245 "aidl/android/media/soundtrigger/AudioCapabilities.aidl", 246 "aidl/android/media/soundtrigger/ConfidenceLevel.aidl", 247 "aidl/android/media/soundtrigger/ModelParameter.aidl", 248 "aidl/android/media/soundtrigger/ModelParameterRange.aidl", 249 "aidl/android/media/soundtrigger/Phrase.aidl", 250 "aidl/android/media/soundtrigger/PhraseRecognitionEvent.aidl", 251 "aidl/android/media/soundtrigger/PhraseRecognitionExtra.aidl", 252 "aidl/android/media/soundtrigger/PhraseSoundModel.aidl", 253 "aidl/android/media/soundtrigger/Properties.aidl", 254 "aidl/android/media/soundtrigger/RecognitionConfig.aidl", 255 "aidl/android/media/soundtrigger/RecognitionEvent.aidl", 256 "aidl/android/media/soundtrigger/RecognitionMode.aidl", 257 "aidl/android/media/soundtrigger/RecognitionStatus.aidl", 258 "aidl/android/media/soundtrigger/SoundModel.aidl", 259 "aidl/android/media/soundtrigger/SoundModelType.aidl", 260 "aidl/android/media/soundtrigger/Status.aidl", 261 ], 262 stability: "vintf", 263 backend: { 264 cpp: { 265 enabled: true, 266 }, 267 java: { 268 sdk_version: "module_current", 269 }, 270 }, 271 imports: [ 272 latest_android_media_audio_common_types, 273 ], 274 versions_with_info: [ 275 { 276 version: "1", 277 imports: ["android.media.audio.common.types-V2"], 278 }, 279 { 280 version: "2", 281 imports: ["android.media.audio.common.types-V3"], 282 }, 283 { 284 version: "3", 285 imports: ["android.media.audio.common.types-V4"], 286 }, 287 288 ], 289 frozen: true, 290 291} 292 293// Note: This should always be one version ahead of the last frozen version 294latest_android_media_soundtrigger_types = "android.media.soundtrigger.types-V3" 295 296cc_defaults { 297 name: "latest_android_media_soundtrigger_types_cpp_shared", 298 shared_libs: [ 299 latest_android_media_soundtrigger_types + "-cpp", 300 ], 301} 302 303cc_defaults { 304 name: "latest_android_media_soundtrigger_types_cpp_export_shared", 305 defaults: [ 306 "latest_android_media_soundtrigger_types_cpp_shared", 307 ], 308 export_shared_lib_headers: [ 309 latest_android_media_soundtrigger_types + "-cpp", 310 ], 311} 312 313cc_defaults { 314 name: "latest_android_media_soundtrigger_types_cpp_static", 315 static_libs: [ 316 latest_android_media_soundtrigger_types + "-cpp", 317 ], 318} 319 320cc_defaults { 321 name: "latest_android_media_soundtrigger_types_cpp_export_static", 322 defaults: [ 323 "latest_android_media_soundtrigger_types_cpp_static", 324 ], 325 export_static_lib_headers: [ 326 latest_android_media_soundtrigger_types + "-cpp", 327 ], 328} 329 330cc_defaults { 331 name: "latest_android_media_soundtrigger_types_ndk_shared", 332 shared_libs: [ 333 latest_android_media_soundtrigger_types + "-ndk", 334 ], 335} 336 337cc_defaults { 338 name: "latest_android_media_soundtrigger_types_ndk_static", 339 static_libs: [ 340 latest_android_media_soundtrigger_types + "-ndk", 341 ], 342} 343 344cc_defaults { 345 name: "latest_android_media_soundtrigger_types_cpp_target_shared", 346 target: { 347 android: { 348 shared_libs: [ 349 latest_android_media_soundtrigger_types + "-cpp", 350 ], 351 }, 352 }, 353} 354 355aidl_interface_defaults { 356 name: "latest_android_media_soundtrigger_types_import_interface", 357 imports: [ 358 latest_android_media_soundtrigger_types, 359 ], 360} 361 362aidl_interface { 363 name: "android.media.audio.eraser.types", 364 vendor_available: true, 365 host_supported: true, 366 flags: [ 367 "-Werror", 368 "-Weverything", 369 ], 370 local_include_dir: "aidl", 371 srcs: [ 372 "aidl/android/media/audio/eraser/Capability.aidl", 373 "aidl/android/media/audio/eraser/Classification.aidl", 374 "aidl/android/media/audio/eraser/ClassificationConfig.aidl", 375 "aidl/android/media/audio/eraser/ClassificationMetadata.aidl", 376 "aidl/android/media/audio/eraser/ClassificationMetadataList.aidl", 377 "aidl/android/media/audio/eraser/ClassifierCapability.aidl", 378 "aidl/android/media/audio/eraser/Configuration.aidl", 379 "aidl/android/media/audio/eraser/IEraserCallback.aidl", 380 "aidl/android/media/audio/eraser/Mode.aidl", 381 "aidl/android/media/audio/eraser/RemixerCapability.aidl", 382 "aidl/android/media/audio/eraser/SeparatorCapability.aidl", 383 "aidl/android/media/audio/eraser/SoundClassification.aidl", 384 ], 385 stability: "vintf", 386 backend: { 387 cpp: { 388 enabled: true, 389 }, 390 java: { 391 sdk_version: "module_current", 392 }, 393 }, 394 imports: [ 395 latest_android_media_audio_common_types, 396 ], 397 frozen: true, 398 versions_with_info: [ 399 { 400 version: "1", 401 imports: ["android.media.audio.common.types-V4"], 402 }, 403 ], 404 405} 406 407// Note: This should always be one version ahead of the last frozen version 408latest_android_media_audio_eraser_types = "android.media.audio.eraser.types-V1" 409 410cc_defaults { 411 name: "latest_android_media_audio_eraser_types_cpp_shared", 412 shared_libs: [ 413 latest_android_media_audio_eraser_types + "-cpp", 414 ], 415} 416 417cc_defaults { 418 name: "latest_android_media_audio_eraser_types_cpp_export_shared", 419 defaults: [ 420 "latest_android_media_audio_eraser_types_cpp_shared", 421 ], 422 export_shared_lib_headers: [ 423 latest_android_media_audio_eraser_types + "-cpp", 424 ], 425} 426 427cc_defaults { 428 name: "latest_android_media_audio_eraser_types_cpp_static", 429 static_libs: [ 430 latest_android_media_audio_eraser_types + "-cpp", 431 ], 432} 433 434cc_defaults { 435 name: "latest_android_media_audio_eraser_types_cpp_export_static", 436 defaults: [ 437 "latest_android_media_audio_eraser_types_cpp_static", 438 ], 439 export_static_lib_headers: [ 440 latest_android_media_audio_eraser_types + "-cpp", 441 ], 442} 443 444cc_defaults { 445 name: "latest_android_media_audio_eraser_types_ndk_shared", 446 shared_libs: [ 447 latest_android_media_audio_eraser_types + "-ndk", 448 ], 449} 450 451cc_defaults { 452 name: "latest_android_media_audio_eraser_types_ndk_static", 453 static_libs: [ 454 latest_android_media_audio_eraser_types + "-ndk", 455 ], 456} 457 458cc_defaults { 459 name: "latest_android_media_audio_eraser_types_cpp_target_shared", 460 target: { 461 android: { 462 shared_libs: [ 463 latest_android_media_audio_eraser_types + "-cpp", 464 ], 465 }, 466 }, 467} 468 469aidl_interface_defaults { 470 name: "latest_android_media_audio_eraser_types_import_interface", 471 imports: [ 472 latest_android_media_audio_eraser_types, 473 ], 474} 475