diff --git a/media/libaudioclient/include/media/AudioPolicyHelper.h b/media/libaudioclient/include/media/AudioPolicyHelper.h index 73ee0a7378..35d2e85b61 100644 --- a/media/libaudioclient/include/media/AudioPolicyHelper.h +++ b/media/libaudioclient/include/media/AudioPolicyHelper.h @@ -18,6 +18,43 @@ #include +static inline +audio_stream_type_t audio_usage_to_stream_type(const audio_usage_t usage) +{ + switch(usage) { + case AUDIO_USAGE_MEDIA: + case AUDIO_USAGE_GAME: + case AUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE: + case AUDIO_USAGE_ASSISTANT: + return AUDIO_STREAM_MUSIC; + case AUDIO_USAGE_ASSISTANCE_ACCESSIBILITY: + return AUDIO_STREAM_ACCESSIBILITY; + case AUDIO_USAGE_ASSISTANCE_SONIFICATION: + return AUDIO_STREAM_SYSTEM; + case AUDIO_USAGE_VOICE_COMMUNICATION: + return AUDIO_STREAM_VOICE_CALL; + + case AUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING: + return AUDIO_STREAM_DTMF; + + case AUDIO_USAGE_ALARM: + return AUDIO_STREAM_ALARM; + case AUDIO_USAGE_NOTIFICATION_TELEPHONY_RINGTONE: + return AUDIO_STREAM_RING; + + case AUDIO_USAGE_NOTIFICATION: + case AUDIO_USAGE_NOTIFICATION_COMMUNICATION_REQUEST: + case AUDIO_USAGE_NOTIFICATION_COMMUNICATION_INSTANT: + case AUDIO_USAGE_NOTIFICATION_COMMUNICATION_DELAYED: + case AUDIO_USAGE_NOTIFICATION_EVENT: + return AUDIO_STREAM_NOTIFICATION; + + case AUDIO_USAGE_UNKNOWN: + default: + return AUDIO_STREAM_MUSIC; + } +} + static inline audio_stream_type_t audio_attributes_to_stream_type(const audio_attributes_t *attr) { @@ -30,38 +67,7 @@ audio_stream_type_t audio_attributes_to_stream_type(const audio_attributes_t *at } // usage to stream type mapping - switch (attr->usage) { - case AUDIO_USAGE_MEDIA: - case AUDIO_USAGE_GAME: - case AUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE: - case AUDIO_USAGE_ASSISTANT: - return AUDIO_STREAM_MUSIC; - case AUDIO_USAGE_ASSISTANCE_ACCESSIBILITY: - return AUDIO_STREAM_ACCESSIBILITY; - case AUDIO_USAGE_ASSISTANCE_SONIFICATION: - return AUDIO_STREAM_SYSTEM; - case AUDIO_USAGE_VOICE_COMMUNICATION: - return AUDIO_STREAM_VOICE_CALL; - - case AUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING: - return AUDIO_STREAM_DTMF; - - case AUDIO_USAGE_ALARM: - return AUDIO_STREAM_ALARM; - case AUDIO_USAGE_NOTIFICATION_TELEPHONY_RINGTONE: - return AUDIO_STREAM_RING; - - case AUDIO_USAGE_NOTIFICATION: - case AUDIO_USAGE_NOTIFICATION_COMMUNICATION_REQUEST: - case AUDIO_USAGE_NOTIFICATION_COMMUNICATION_INSTANT: - case AUDIO_USAGE_NOTIFICATION_COMMUNICATION_DELAYED: - case AUDIO_USAGE_NOTIFICATION_EVENT: - return AUDIO_STREAM_NOTIFICATION; - - case AUDIO_USAGE_UNKNOWN: - default: - return AUDIO_STREAM_MUSIC; - } + return audio_usage_to_stream_type(attr->usage); } static inline diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp index 92f6c79701..d1515e26f2 100644 --- a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp +++ b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp @@ -5813,39 +5813,7 @@ audio_stream_type_t AudioPolicyManager::streamTypefromAttributesInt(const audio_ return AUDIO_STREAM_TTS; } - // usage to stream type mapping - switch (attr->usage) { - case AUDIO_USAGE_MEDIA: - case AUDIO_USAGE_GAME: - case AUDIO_USAGE_ASSISTANT: - case AUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE: - return AUDIO_STREAM_MUSIC; - case AUDIO_USAGE_ASSISTANCE_ACCESSIBILITY: - return AUDIO_STREAM_ACCESSIBILITY; - case AUDIO_USAGE_ASSISTANCE_SONIFICATION: - return AUDIO_STREAM_SYSTEM; - case AUDIO_USAGE_VOICE_COMMUNICATION: - return AUDIO_STREAM_VOICE_CALL; - - case AUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING: - return AUDIO_STREAM_DTMF; - - case AUDIO_USAGE_ALARM: - return AUDIO_STREAM_ALARM; - case AUDIO_USAGE_NOTIFICATION_TELEPHONY_RINGTONE: - return AUDIO_STREAM_RING; - - case AUDIO_USAGE_NOTIFICATION: - case AUDIO_USAGE_NOTIFICATION_COMMUNICATION_REQUEST: - case AUDIO_USAGE_NOTIFICATION_COMMUNICATION_INSTANT: - case AUDIO_USAGE_NOTIFICATION_COMMUNICATION_DELAYED: - case AUDIO_USAGE_NOTIFICATION_EVENT: - return AUDIO_STREAM_NOTIFICATION; - - case AUDIO_USAGE_UNKNOWN: - default: - return AUDIO_STREAM_MUSIC; - } + return audio_usage_to_stream_type(attr->usage); } bool AudioPolicyManager::isValidAttributes(const audio_attributes_t *paa)