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_";