From fb3cd8729e314cc7303cb203f4e4108bbd46c301 Mon Sep 17 00:00:00 2001 From: Iscle Date: Mon, 21 Apr 2025 12:55:04 +0200 Subject: [PATCH] Revert "More stupid stuff" This reverts commit a44c5812801e5330ec788698900dded14943dca3. --- src/AidlVersions.cpp | 42 +++---------------- src/AidlVersions.h | 38 ++++++----------- .../android/media/audio/common/AudioUuid.h | 2 +- 3 files changed, 20 insertions(+), 62 deletions(-) diff --git a/src/AidlVersions.cpp b/src/AidlVersions.cpp index 7fb82a1..e6fa127 100644 --- a/src/AidlVersions.cpp +++ b/src/AidlVersions.cpp @@ -3,32 +3,11 @@ #include #include -AidlVersions::AidlVersions() { +void AidlVersions::init() { + char tmp[128]; + ALOGD("AidlVersions::init()"); - findAndroidHardwareAudioCommonVersion(); - findAndroidHardwareAudioEffectVersion(); - findAndroidHardwareCommonVersion(); - findAndroidHardwareCommonFmqVersion(); - findAndroidMediaAudioCommonTypesVersion(); - findAndroidMediaAudioEraserTypesVersion(); -} -void AidlVersions::findAndroidHardwareAudioCommonVersion() { - char tmp[128]; - for (uint32_t i = ANDROID_HARDWARE_AUDIO_COMMON_MAX_VERSION; i > 0; i--) { - snprintf(tmp, sizeof(tmp), "android.hardware.audio.common-V%u-ndk.so", i); - void *handle = dlopen(tmp, RTLD_LAZY); - if (handle) { - ALOGD("Found android.hardware.audio.common-V%u-ndk.so", i); - androidHardwareAudioCommonVersion = i; - dlclose(handle); - break; - } - } -} - -void AidlVersions::findAndroidHardwareAudioEffectVersion() { - char tmp[128]; for (uint32_t i = ANDROID_HARDWARE_AUDIO_EFFECT_MAX_VERSION; i > 0; i--) { snprintf(tmp, sizeof(tmp), "android.hardware.audio.effect-V%u-ndk.so", i); void *handle = dlopen(tmp, RTLD_LAZY); @@ -42,10 +21,7 @@ void AidlVersions::findAndroidHardwareAudioEffectVersion() { if (androidHardwareAudioEffectVersion == 0) { ALOGE("Failed to find android.hardware.audio.effect version!"); } -} -void AidlVersions::findAndroidHardwareCommonVersion() { - char tmp[128]; for (uint32_t i = ANDROID_HARDWARE_COMMON_MAX_VERSION; i > 0; i--) { snprintf(tmp, sizeof(tmp), "android.hardware.common-V%u-ndk.so", i); void *handle = dlopen(tmp, RTLD_LAZY); @@ -59,10 +35,7 @@ void AidlVersions::findAndroidHardwareCommonVersion() { if (androidHardwareCommonVersion == 0) { ALOGE("Failed to find android.hardware.common version!"); } -} -void AidlVersions::findAndroidHardwareCommonFmqVersion() { - char tmp[128]; for (uint32_t i = ANDROID_HARDWARE_COMMON_FMQ_MAX_VERSION; i > 0; i--) { snprintf(tmp, sizeof(tmp), "android.hardware.common.fmq-V%u-ndk.so", i); void *handle = dlopen(tmp, RTLD_LAZY); @@ -76,10 +49,7 @@ void AidlVersions::findAndroidHardwareCommonFmqVersion() { if (androidHardwareCommonFmqVersion == 0) { ALOGE("Failed to find android.hardware.common.fmq version!"); } -} -void AidlVersions::findAndroidMediaAudioCommonTypesVersion() { - char tmp[128]; for (uint32_t i = ANDROID_MEDIA_AUDIO_COMMON_TYPES_MAX_VERSION; i > 0; i--) { snprintf(tmp, sizeof(tmp), "android.media.audio.common.types-V%u-ndk.so", i); void *handle = dlopen(tmp, RTLD_LAZY); @@ -95,7 +65,7 @@ void AidlVersions::findAndroidMediaAudioCommonTypesVersion() { } } -void AidlVersions::findAndroidMediaAudioEraserTypesVersion() { - char tmp[128]; - // TODO +__attribute__((constructor)) +void aidl_versions_init() { + AidlVersions::init(); } diff --git a/src/AidlVersions.h b/src/AidlVersions.h index 5060a4c..743a11f 100644 --- a/src/AidlVersions.h +++ b/src/AidlVersions.h @@ -4,31 +4,19 @@ class AidlVersions { public: - const static uint32_t ANDROID_HARDWARE_AUDIO_COMMON_MAX_VERSION = 5; - const static uint32_t ANDROID_HARDWARE_AUDIO_EFFECT_MAX_VERSION = 4; - const static uint32_t ANDROID_HARDWARE_COMMON_MAX_VERSION = 3; - const static uint32_t ANDROID_HARDWARE_COMMON_FMQ_MAX_VERSION = 2; - const static uint32_t ANDROID_MEDIA_AUDIO_COMMON_TYPES_MAX_VERSION = 5; - const static uint32_t ANDROID_MEDIA_AUDIO_ERASER_TYPES_MAX_VERSION = 2; + const static uint32_t ANDROID_HARDWARE_AUDIO_COMMON_MAX_VERSION = 1; + const static uint32_t ANDROID_HARDWARE_AUDIO_EFFECT_MAX_VERSION = 3; + const static uint32_t ANDROID_HARDWARE_COMMON_MAX_VERSION = 1; + const static uint32_t ANDROID_HARDWARE_COMMON_FMQ_MAX_VERSION = 1; + const static uint32_t ANDROID_MEDIA_AUDIO_COMMON_TYPES_MAX_VERSION = 4; + const static uint32_t ANDROID_MEDIA_AUDIO_ERASER_TYPES_MAX_VERSION = 1; - uint32_t androidHardwareAudioCommonVersion = 0; - uint32_t androidHardwareAudioEffectVersion = 0; - uint32_t androidHardwareCommonVersion = 0; - uint32_t androidHardwareCommonFmqVersion = 0; - uint32_t androidMediaAudioCommonTypesVersion = 0; - uint32_t androidMediaAudioEraserTypesVersion = 0; + static void init(); - static inline AidlVersions &instance() { - static AidlVersions instance; - return instance; - } -private: - AidlVersions(); - - void findAndroidHardwareAudioCommonVersion(); - void findAndroidHardwareAudioEffectVersion(); - void findAndroidHardwareCommonVersion(); - void findAndroidHardwareCommonFmqVersion(); - void findAndroidMediaAudioCommonTypesVersion(); - void findAndroidMediaAudioEraserTypesVersion(); + static inline uint32_t androidHardwareAudioCommonVersion = 0; + static inline uint32_t androidHardwareAudioEffectVersion = 0; + static inline uint32_t androidHardwareCommonVersion = 0; + static inline uint32_t androidHardwareCommonFmqVersion = 0; + static inline uint32_t androidMediaAudioCommonTypesVersion = 0; + static inline uint32_t androidMediaAudioEraserTypesVersion = 0; }; diff --git a/src/include/android/media/audio/common/AudioUuid.h b/src/include/android/media/audio/common/AudioUuid.h index 6edfa10..4c17040 100644 --- a/src/include/android/media/audio/common/AudioUuid.h +++ b/src/include/android/media/audio/common/AudioUuid.h @@ -64,7 +64,7 @@ public: return !(_rhs < *this); } private: - uint32_t version = AidlVersions::instance().androidMediaAudioCommonTypesVersion; + uint32_t version = AidlVersions::androidMediaAudioCommonTypesVersion; v1::AudioUuid *uuid_v1 = (v1::AudioUuid *) this; }; } // namespace android::media::audio::common