// Copyright (C) 2022 The Android Open Source Project // Copyright (C) 2025 KonstaKANG // // SPDX-License-Identifier: Apache-2.0 cc_defaults { name: "aidlaudioservice_rpi_defaults", vendor: true, shared_libs: [ "android.hardware.audio.core-V3-ndk", "android.hardware.audio.core.sounddose-V3-ndk", "android.hardware.bluetooth.audio-V5-ndk", "android.hardware.bluetooth.audio-impl", "android.hardware.common-V2-ndk", "android.hardware.common.fmq-V1-ndk", "android.media.audio.common.types-V4-ndk", "libalsautilsv2-rpi", "libaudio_aidl_conversion_common_ndk", "libaudioaidlcommon", "libaudioutils", "libbase", "libbinder_ndk", "libbluetooth_audio_session_aidl", "libcutils", "libfmq", "liblog", "libmedia_helper", "libnbaio_mono", "libstagefright_foundation", "libtinyalsav2", "libutils", "libxml2", ], header_libs: [ "libaudio_system_headers", "libaudioaidl_rpi_headers", "libxsdc-utils", ], cflags: [ "-DBACKEND_NDK", "-Wall", "-Werror", "-Wextra", "-Wthread-safety", ], } cc_library { name: "libaudioserviceimpl-rpi", defaults: ["aidlaudioservice_rpi_defaults"], export_include_dirs: ["include"], srcs: [ "AidlConversionXsdc.cpp", "AudioPolicyConfigXmlConverter.cpp", "Bluetooth.cpp", "CapEngineConfigXmlConverter.cpp", "Config.cpp", "Configuration.cpp", "EngineConfigXmlConverter.cpp", "Module.cpp", "ModulePrimary.cpp", "SoundDose.cpp", "Stream.cpp", "Telephony.cpp", "XsdcConversion.cpp", "alsa/Mixer.cpp", "alsa/ModuleAlsa.cpp", "alsa/StreamAlsa.cpp", "alsa/Utils.cpp", "bluetooth/DevicePortProxy.cpp", "bluetooth/ModuleBluetooth.cpp", "bluetooth/StreamBluetooth.cpp", "deprecated/StreamSwitcher.cpp", "primary/PrimaryMixer.cpp", "primary/StreamPrimary.cpp", "r_submix/ModuleRemoteSubmix.cpp", "r_submix/StreamRemoteSubmix.cpp", "r_submix/SubmixRoute.cpp", "stub/ApeHeader.cpp", "stub/DriverStubImpl.cpp", "stub/ModuleStub.cpp", "stub/StreamMmapStub.cpp", "stub/StreamOffloadStub.cpp", "stub/StreamStub.cpp", "usb/ModuleUsb.cpp", "usb/StreamUsb.cpp", "usb/UsbAlsaMixerControl.cpp", ], generated_sources: [ "audio_policy_capengine_configuration_aidl_rpi", "audio_policy_configuration_aidl_rpi", "audio_policy_engine_configuration_aidl_rpi", ], generated_headers: [ "audio_policy_capengine_configuration_aidl_rpi", "audio_policy_configuration_aidl_rpi", "audio_policy_engine_configuration_aidl_rpi", ], export_generated_headers: [ "audio_policy_capengine_configuration_aidl_rpi", "audio_policy_configuration_aidl_rpi", "audio_policy_engine_configuration_aidl_rpi", ], shared_libs: [ "libmediautils_vendor", ], export_shared_lib_headers: [ "libaudio_aidl_conversion_common_ndk", ], } cc_library { name: "libeffectconfig-rpi", defaults: ["aidlaudioeffectservice_rpi_defaults"], srcs: [ "EffectConfig.cpp", ], shared_libs: [ "libmedia_helper", "libtinyxml2", ], export_shared_lib_headers: [ "libtinyxml2", ], export_include_dirs: [ "include", ], } cc_binary { name: "android.hardware.audio.service.rpi", relative_install_path: "hw", defaults: ["aidlaudioservice_rpi_defaults"], static_libs: [ "libaudioserviceimpl-rpi", ], srcs: ["main.cpp"], installable: false, } cc_defaults { name: "aidlaudioeffectservice_rpi_defaults", vendor: true, shared_libs: [ "android.hardware.audio.effect-V3-ndk", "android.media.audio.common.types-V4-ndk", "libapexsupport", "libaudio_aidl_conversion_common_ndk", "libaudioutils", "libbase", "libbinder_ndk", "liblog", "libutils", ], header_libs: [ "libaudio_system_headers", "libaudioaidl_rpi_headers", ], cflags: [ "-DBACKEND_NDK", "-Wall", "-Werror", "-Wextra", ], } cc_binary { name: "android.hardware.audio.effect.service.rpi", relative_install_path: "hw", defaults: ["aidlaudioeffectservice_rpi_defaults"], shared_libs: [ "android.hardware.common-V2-ndk", "android.hardware.common.fmq-V1-ndk", "libaudioaidlcommon", "libcutils", "libeffectconfig-rpi", "libfmq", ], header_libs: [ "libsystem_headers", ], srcs: [ "EffectFactory.cpp", "EffectMain.cpp", ], cflags: [ "-Wthread-safety", ], installable: false, } cc_library_headers { name: "libaudioaidl_rpi_headers", export_include_dirs: ["include"], vendor_available: true, } prebuilt_etc { name: "android.hardware.audio.service.rpi.rc", src: "android.hardware.audio.service.rpi.rc", installable: false, } prebuilt_etc { name: "android.hardware.audio.service.rpi.xml", src: "android.hardware.audio.service.rpi.xml", sub_dir: "vintf", installable: false, } apex { name: "com.android.hardware.audio.rpi5", manifest: "manifest.json", file_contexts: "file_contexts", key: "com.android.hardware.key", certificate: ":com.android.hardware.certificate", updatable: false, vendor: true, binaries: [ "android.hardware.audio.effect.service.rpi", "android.hardware.audio.service.rpi", ], prebuilts: [ "android.hardware.audio.service.rpi.rc", "android.hardware.audio.service.rpi.xml", "android.hardware.bluetooth.audio.xml", ], required: [ "aidl_audio_set_configurations_bfbs", "aidl_audio_set_scenarios_bfbs", "aidl_default_audio_set_configurations_json", "aidl_default_audio_set_scenarios_json", "hfp_codec_capabilities_xml", ], }