From 5c00d01c85430178d19f6266f1bc5c94a29853c1 Mon Sep 17 00:00:00 2001 From: Ari Hausman-Cohen Date: Tue, 26 Jun 2018 17:09:11 -0700 Subject: [PATCH] Add helper method to convert usage to stream type. Adds audio_usage_to_stream_type method to aid in converting audio_usage_t to the legacy audio_stream_type_t. Bug: 78527120 Test: Builds Change-Id: I411bb687d0f46b82afef3a2e9ac6a974f922da91 --- .../include/media/AudioPolicyHelper.h | 70 ++++++++++--------- .../managerdefault/AudioPolicyManager.cpp | 34 +-------- 2 files changed, 39 insertions(+), 65 deletions(-) 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)