diff options
author | Jean-Michel Trivi <jmtrivi@google.com> | 2014-07-19 01:00:58 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-07-17 17:59:02 +0000 |
commit | 3d63a9c7cd3f03ebcf67cc1bc3d53ada8a6ef577 (patch) | |
tree | 90d99a2fad78230c1e3be192205c31aa11ab1f9d /media | |
parent | 7cdc0b58d6cf5d7a0d615e40cda7d913d05c0eab (diff) | |
parent | 09818c15500a04eac6b9998144c1ca54b8a54109 (diff) | |
download | frameworks_base-3d63a9c7cd3f03ebcf67cc1bc3d53ada8a6ef577.zip frameworks_base-3d63a9c7cd3f03ebcf67cc1bc3d53ada8a6ef577.tar.gz frameworks_base-3d63a9c7cd3f03ebcf67cc1bc3d53ada8a6ef577.tar.bz2 |
Merge "Add AudioAttributes to stream type conversion" into lmp-dev
Diffstat (limited to 'media')
-rw-r--r-- | media/java/android/media/AudioAttributes.java | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/media/java/android/media/AudioAttributes.java b/media/java/android/media/AudioAttributes.java index 7a30920..0fb77d5 100644 --- a/media/java/android/media/AudioAttributes.java +++ b/media/java/android/media/AudioAttributes.java @@ -525,6 +525,45 @@ public final class AudioAttributes implements Parcelable { } /** @hide */ + public static int toLegacyStreamType(AudioAttributes aa) { + // flags to stream type mapping + if ((aa.getFlags() & FLAG_AUDIBILITY_ENFORCED) == FLAG_AUDIBILITY_ENFORCED) { + return AudioSystem.STREAM_SYSTEM_ENFORCED; + } + if ((aa.getFlags() & FLAG_SCO) == FLAG_SCO) { + return AudioSystem.STREAM_BLUETOOTH_SCO; + } + + // usage to stream type mapping + switch (aa.getUsage()) { + case USAGE_MEDIA: + case USAGE_GAME: + case USAGE_ASSISTANCE_ACCESSIBILITY: + case USAGE_ASSISTANCE_NAVIGATION_GUIDANCE: + return AudioSystem.STREAM_MUSIC; + case USAGE_ASSISTANCE_SONIFICATION: + return AudioSystem.STREAM_SYSTEM; + case USAGE_VOICE_COMMUNICATION: + return AudioSystem.STREAM_VOICE_CALL; + case USAGE_VOICE_COMMUNICATION_SIGNALLING: + return AudioSystem.STREAM_DTMF; + case USAGE_ALARM: + return AudioSystem.STREAM_ALARM; + case USAGE_NOTIFICATION_TELEPHONY_RINGTONE: + return AudioSystem.STREAM_RING; + case USAGE_NOTIFICATION: + case USAGE_NOTIFICATION_COMMUNICATION_REQUEST: + case USAGE_NOTIFICATION_COMMUNICATION_INSTANT: + case USAGE_NOTIFICATION_COMMUNICATION_DELAYED: + case USAGE_NOTIFICATION_EVENT: + return AudioSystem.STREAM_NOTIFICATION; + case USAGE_UNKNOWN: + default: + return AudioSystem.STREAM_MUSIC; + } + } + + /** @hide */ @IntDef({ USAGE_UNKNOWN, USAGE_MEDIA, |