diff options
-rw-r--r-- | services/audiopolicy/AudioPolicyManager.cpp | 6 | ||||
-rw-r--r-- | services/audiopolicy/AudioPolicyManager.h | 5 |
2 files changed, 6 insertions, 5 deletions
diff --git a/services/audiopolicy/AudioPolicyManager.cpp b/services/audiopolicy/AudioPolicyManager.cpp index 37f8513..90baa9e 100644 --- a/services/audiopolicy/AudioPolicyManager.cpp +++ b/services/audiopolicy/AudioPolicyManager.cpp @@ -5574,12 +5574,14 @@ audio_channel_mask_t AudioPolicyManager::AudioPort::pickChannelMask() const return channelMask; } +/* format in order of increasing preference */ const audio_format_t AudioPolicyManager::AudioPort::sPcmFormatCompareTable[] = { AUDIO_FORMAT_DEFAULT, AUDIO_FORMAT_PCM_16_BIT, AUDIO_FORMAT_PCM_8_24_BIT, AUDIO_FORMAT_PCM_24_BIT_PACKED, AUDIO_FORMAT_PCM_32_BIT, + AUDIO_FORMAT_PCM_FLOAT, }; int AudioPolicyManager::AudioPort::compareFormats(audio_format_t format1, @@ -5621,7 +5623,9 @@ audio_format_t AudioPolicyManager::AudioPort::pickFormat() const } audio_format_t format = AUDIO_FORMAT_DEFAULT; - audio_format_t bestFormat = BEST_MIXER_FORMAT; + audio_format_t bestFormat = + AudioPolicyManager::AudioPort::sPcmFormatCompareTable[ + ARRAY_SIZE(AudioPolicyManager::AudioPort::sPcmFormatCompareTable) - 1]; // For mixed output and inputs, use best mixer output format. Do not // limit format otherwise if ((mType != AUDIO_PORT_TYPE_MIX) || diff --git a/services/audiopolicy/AudioPolicyManager.h b/services/audiopolicy/AudioPolicyManager.h index ec94144..e28a362 100644 --- a/services/audiopolicy/AudioPolicyManager.h +++ b/services/audiopolicy/AudioPolicyManager.h @@ -53,10 +53,7 @@ namespace android { #define OFFLOAD_DEFAULT_MIN_DURATION_SECS 60 #define MAX_MIXER_SAMPLING_RATE 48000 -#define MAX_MIXER_CHANNEL_COUNT 2 -// See AudioPort::compareFormats() -#define WORST_MIXER_FORMAT AUDIO_FORMAT_PCM_16_BIT -#define BEST_MIXER_FORMAT AUDIO_FORMAT_PCM_24_BIT_PACKED +#define MAX_MIXER_CHANNEL_COUNT 8 // ---------------------------------------------------------------------------- // AudioPolicyManager implements audio policy manager behavior common to all platforms. |