From 32aa870a2196f3a4333b696f8c2d52daaf471e02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Gaffie?= Date: Fri, 2 Aug 2024 17:22:14 +0200 Subject: [PATCH] Migrate forced config and for force use to android.media.audio.common.types MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug: 307310023 Test: m Change-Id: I58747a8591b3a990ca986143f470b49b4b438413 Signed-off-by: François Gaffie --- audio/aidl/common/include/Utils.h | 32 +++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/audio/aidl/common/include/Utils.h b/audio/aidl/common/include/Utils.h index dd216e59ef..74be3c4198 100644 --- a/audio/aidl/common/include/Utils.h +++ b/audio/aidl/common/include/Utils.h @@ -29,6 +29,7 @@ #include #include #include +#include #include #include @@ -58,6 +59,31 @@ constexpr std::array<::aidl::android::media::audio::common::AudioMode, 5> kValid ::aidl::android::media::audio::common::AudioMode::CALL_SCREEN, }; +constexpr std::array<::aidl::android::media::audio::common::AudioPolicyForcedConfig, 17> + kValidAudioPolicyForcedConfig = { + ::aidl::android::media::audio::common::AudioPolicyForcedConfig::NONE, + ::aidl::android::media::audio::common::AudioPolicyForcedConfig::SPEAKER, + ::aidl::android::media::audio::common::AudioPolicyForcedConfig::HEADPHONES, + ::aidl::android::media::audio::common::AudioPolicyForcedConfig::BT_SCO, + ::aidl::android::media::audio::common::AudioPolicyForcedConfig::BT_A2DP, + ::aidl::android::media::audio::common::AudioPolicyForcedConfig::WIRED_ACCESSORY, + ::aidl::android::media::audio::common::AudioPolicyForcedConfig::BT_CAR_DOCK, + ::aidl::android::media::audio::common::AudioPolicyForcedConfig::BT_DESK_DOCK, + ::aidl::android::media::audio::common::AudioPolicyForcedConfig::ANALOG_DOCK, + ::aidl::android::media::audio::common::AudioPolicyForcedConfig::DIGITAL_DOCK, + ::aidl::android::media::audio::common::AudioPolicyForcedConfig::NO_BT_A2DP, + ::aidl::android::media::audio::common::AudioPolicyForcedConfig::SYSTEM_ENFORCED, + ::aidl::android::media::audio::common::AudioPolicyForcedConfig:: + HDMI_SYSTEM_AUDIO_ENFORCED, + ::aidl::android::media::audio::common::AudioPolicyForcedConfig:: + ENCODED_SURROUND_NEVER, + ::aidl::android::media::audio::common::AudioPolicyForcedConfig:: + ENCODED_SURROUND_ALWAYS, + ::aidl::android::media::audio::common::AudioPolicyForcedConfig:: + ENCODED_SURROUND_MANUAL, + ::aidl::android::media::audio::common::AudioPolicyForcedConfig::BT_BLE, +}; + constexpr size_t getPcmSampleSizeInBytes(::aidl::android::media::audio::common::PcmType pcm) { using ::aidl::android::media::audio::common::PcmType; switch (pcm) { @@ -133,6 +159,12 @@ constexpr bool isValidAudioMode(::aidl::android::media::audio::common::AudioMode kValidAudioModes.end(); } +constexpr bool isValidAudioPolicyForcedConfig( + ::aidl::android::media::audio::common::AudioPolicyForcedConfig config) { + return std::find(kValidAudioPolicyForcedConfig.begin(), kValidAudioPolicyForcedConfig.end(), + config) != kValidAudioPolicyForcedConfig.end(); +} + static inline bool maybeVendorExtension(const std::string& s) { // Only checks whether the string starts with the "vendor prefix". static const std::string vendorPrefix = "VX_";