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
gugelfrei
Ari Hausman-Cohen 6 years ago
parent 2046ec756e
commit 5c00d01c85

@ -18,6 +18,43 @@
#include <system/audio.h>
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

@ -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)

Loading…
Cancel
Save