Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 195d3d69 authored by Shunkai Yao's avatar Shunkai Yao
Browse files

Add defaults for audio AIDL interfaces

- with defaults user don't have to change their Android.bp when there is
  a update
- update AIDL audio interfaces with android.media.audio.common.types
- update Spatialization and HeadTracking AIDL usage

Bug: 273373363
Bug: 293370815
Test: m
Test: lunch panther-trunk_staging-userdebug; m; test Bluetooth Audio
Change-Id: Ic9d8afc1d4e19e4243c66065b0a5d29156632851
Merged-In: Ic9d8afc1d4e19e4243c66065b0a5d29156632851
parent 3143e693
Loading
Loading
Loading
Loading
+51 −20
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ aidl_interface {
    name: "android.hardware.audio.common",
    defaults: [
        "android.hardware.audio_defaults",
        "latest_android_media_audio_common_types_import_interface",
    ],
    srcs: [
        "android/hardware/audio/common/AudioOffloadMetadata.aidl",
@@ -42,10 +43,7 @@ aidl_interface {
        "android/hardware/audio/common/SinkMetadata.aidl",
        "android/hardware/audio/common/SourceMetadata.aidl",
    ],
    frozen: true,
    imports: [
        "android.media.audio.common.types-V2",
    ],
    frozen: false,
    backend: {
        cpp: {
            enabled: true,
@@ -83,7 +81,7 @@ aidl_interface {
}

// Note: This should always be one version ahead of the last frozen version
latest_android_hardware_audio_common = "android.hardware.audio.common-V2"
latest_android_hardware_audio_common = "android.hardware.audio.common-V3"

// Modules that depend on android.hardware.audio.common directly can include
// the following cc_defaults to avoid explicitly managing dependency versions
@@ -109,10 +107,21 @@ cc_defaults {
    ],
}

aidl_interface_defaults {
    name: "latest_android_hardware_audio_common_import_interface",
    imports: [
        latest_android_hardware_audio_common,
    ],
}

aidl_interface {
    name: "android.hardware.audio.core",
    defaults: [
        "android.hardware.audio_defaults",
        "latest_android_hardware_audio_common_import_interface",
        "latest_android_hardware_audio_core_sounddose_import_interface",
        "latest_android_hardware_audio_effect_import_interface",
        "latest_android_media_audio_common_types_import_interface",
    ],
    srcs: [
        "android/hardware/audio/core/AudioPatch.aidl",
@@ -137,10 +146,6 @@ aidl_interface {
    imports: [
        "android.hardware.common-V2",
        "android.hardware.common.fmq-V1",
        "android.hardware.audio.common-V2",
        "android.hardware.audio.core.sounddose-V1",
        "android.hardware.audio.effect-V1",
        "android.media.audio.common.types-V2",
    ],
    backend: {
        // The C++ backend is disabled transitively due to use of FMQ.
@@ -167,11 +172,11 @@ aidl_interface {
        // IMPORTANT: Update latest_android_hardware_audio_core every time you
        // add the latest frozen version to versions_with_info
    ],
    frozen: true,
    frozen: false,
}

// Note: This should always be one version ahead of the last frozen version
latest_android_hardware_audio_core = "android.hardware.audio.core-V1"
latest_android_hardware_audio_core = "android.hardware.audio.core-V2"

// Modules that depend on android.hardware.audio.core directly can include
// the following cc_defaults to avoid explicitly managing dependency versions
@@ -190,18 +195,23 @@ cc_defaults {
    ],
}

aidl_interface_defaults {
    name: "latest_android_hardware_audio_core_import_interface",
    imports: [
        latest_android_hardware_audio_core,
    ],
}

// Used for the standalone sounddose HAL
aidl_interface {
    name: "android.hardware.audio.core.sounddose",
    defaults: [
        "android.hardware.audio_defaults",
        "latest_android_media_audio_common_types_import_interface",
    ],
    srcs: [
        "android/hardware/audio/core/sounddose/ISoundDose.aidl",
    ],
    imports: [
        "android.media.audio.common.types-V2",
    ],
    backend: {
        // The C++ backend is disabled transitively due to use of FMQ by the core HAL.
        cpp: {
@@ -220,11 +230,11 @@ aidl_interface {
        // IMPORTANT: Update latest_android_hardware_audio_core_sounddose every time you
        // add the latest frozen version to versions_with_info
    ],
    frozen: true,
    frozen: false,
}

// Note: This should always be one version ahead of the last frozen version
latest_android_hardware_audio_core_sounddose = "android.hardware.audio.core.sounddose-V1"
latest_android_hardware_audio_core_sounddose = "android.hardware.audio.core.sounddose-V2"

// Modules that depend on android.hardware.audio.core.sounddose directly can include
// the following cc_defaults to avoid explicitly managing dependency versions
@@ -236,6 +246,13 @@ cc_defaults {
    ],
}

cc_defaults {
    name: "latest_android_hardware_audio_core_sounddose_ndk_export_shared_lib_header",
    export_shared_lib_headers: [
        latest_android_hardware_audio_core_sounddose + "-ndk",
    ],
}

cc_defaults {
    name: "latest_android_hardware_audio_core_sounddose_ndk_static",
    static_libs: [
@@ -243,10 +260,19 @@ cc_defaults {
    ],
}

aidl_interface_defaults {
    name: "latest_android_hardware_audio_core_sounddose_import_interface",
    imports: [
        latest_android_hardware_audio_core_sounddose,
    ],
}

aidl_interface {
    name: "android.hardware.audio.effect",
    defaults: [
        "android.hardware.audio_defaults",
        "latest_android_hardware_audio_common_import_interface",
        "latest_android_media_audio_common_types_import_interface",
    ],
    srcs: [
        "android/hardware/audio/effect/AcousticEchoCanceler.aidl",
@@ -280,8 +306,6 @@ aidl_interface {
    imports: [
        "android.hardware.common-V2",
        "android.hardware.common.fmq-V1",
        "android.hardware.audio.common-V2",
        "android.media.audio.common.types-V2",
    ],
    backend: {
        // The C++ backend is disabled transitively due to use of FMQ.
@@ -303,11 +327,11 @@ aidl_interface {
            ],
        },
    ],
    frozen: true,
    frozen: false,

}

latest_android_hardware_audio_effect = "android.hardware.audio.effect-V1"
latest_android_hardware_audio_effect = "android.hardware.audio.effect-V2"

cc_defaults {
    name: "latest_android_hardware_audio_effect_ndk_shared",
@@ -322,3 +346,10 @@ cc_defaults {
        latest_android_hardware_audio_effect + "-ndk",
    ],
}

aidl_interface_defaults {
    name: "latest_android_hardware_audio_effect_import_interface",
    imports: [
        latest_android_hardware_audio_effect,
    ],
}
+5 −3
Original line number Diff line number Diff line
@@ -45,8 +45,8 @@ cc_library {
    name: "libaudioaidlranges",
    host_supported: true,
    vendor_available: true,
    static_libs: [
        "android.hardware.audio.effect-V1-ndk",
    defaults: [
        "latest_android_hardware_audio_effect_ndk_shared",
    ],
    export_include_dirs: ["include"],
    header_libs: ["libaudioaidl_headers"],
@@ -59,8 +59,10 @@ cc_test {
    name: "libaudioaidlcommon_test",
    host_supported: true,
    vendor_available: true,
    defaults: [
        "latest_android_media_audio_common_types_ndk_static",
    ],
    static_libs: [
        "android.media.audio.common.types-V1-ndk",
        "libaudioaidlcommon",
    ],
    shared_libs: [
+3 −3
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ cc_library {
        "latest_android_media_audio_common_types_ndk_shared",
        "latest_android_hardware_audio_core_ndk_shared",
        "latest_android_hardware_audio_core_sounddose_ndk_shared",
        "latest_android_hardware_bluetooth_audio_ndk_shared",
    ],
    export_include_dirs: ["include"],
    srcs: [
@@ -93,7 +94,6 @@ cc_library {
        "audio_policy_engine_configuration_aidl_default",
    ],
    shared_libs: [
        "android.hardware.bluetooth.audio-V3-ndk",
        "libaudio_aidl_conversion_common_ndk",
        "libbluetooth_audio_session_aidl",
        "libmedia_helper",
@@ -118,15 +118,15 @@ cc_binary {
    vintf_fragments: ["android.hardware.audio.service-aidl.xml"],
    defaults: [
        "aidlaudioservice_defaults",
        "latest_android_media_audio_common_types_ndk_shared",
        "latest_android_hardware_audio_core_sounddose_ndk_shared",
        "latest_android_hardware_audio_core_ndk_shared",
        "latest_android_hardware_bluetooth_audio_ndk_shared",
        "latest_android_media_audio_common_types_ndk_shared",
    ],
    static_libs: [
        "libaudioserviceexampleimpl",
    ],
    shared_libs: [
        "android.hardware.bluetooth.audio-V3-ndk",
        "libaudio_aidl_conversion_common_ndk",
        "libbluetooth_audio_session_aidl",
        "libmedia_helper",
+1 −1
Original line number Diff line number Diff line
<manifest version="1.0" type="device">
  <hal format="aidl">
    <name>android.hardware.audio.effect</name>
    <version>1</version>
    <version>2</version>
    <fqname>IFactory/default</fqname>
  </hal>
</manifest>
+4 −4
Original line number Diff line number Diff line
<manifest version="1.0" type="device">
  <hal format="aidl">
    <name>android.hardware.audio.core</name>
    <version>1</version>
    <version>2</version>
    <fqname>IModule/default</fqname>
  </hal>
  <hal format="aidl">
    <name>android.hardware.audio.core</name>
    <version>1</version>
    <version>2</version>
    <fqname>IModule/r_submix</fqname>
  </hal>
  <hal format="aidl">
    <name>android.hardware.audio.core</name>
    <version>1</version>
    <version>2</version>
    <fqname>IModule/bluetooth</fqname>
  </hal>
  <hal format="aidl">
    <name>android.hardware.audio.core</name>
    <version>1</version>
    <version>2</version>
    <fqname>IConfig/default</fqname>
  </hal>
  <!-- Uncomment when these modules present in the configuration
Loading