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

Commit 32aa870a authored by François Gaffie's avatar François Gaffie
Browse files

Migrate forced config and for force use to android.media.audio.common.types



Bug: 307310023
Test: m

Change-Id: I58747a8591b3a990ca986143f470b49b4b438413
Signed-off-by: default avatarFrançois Gaffie <francois.gaffie@ampere.cars>
parent 5e3235fb
Loading
Loading
Loading
Loading
+32 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@
#include <aidl/android/media/audio/common/AudioIoFlags.h>
#include <aidl/android/media/audio/common/AudioMode.h>
#include <aidl/android/media/audio/common/AudioOutputFlags.h>
#include <aidl/android/media/audio/common/AudioPolicyForcedConfig.h>
#include <aidl/android/media/audio/common/PcmType.h>
#include <android/binder_auto_utils.h>

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