summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorJean-Michel Trivi <jmtrivi@google.com>2014-07-19 01:00:58 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-07-17 17:59:02 +0000
commit3d63a9c7cd3f03ebcf67cc1bc3d53ada8a6ef577 (patch)
tree90d99a2fad78230c1e3be192205c31aa11ab1f9d /media
parent7cdc0b58d6cf5d7a0d615e40cda7d913d05c0eab (diff)
parent09818c15500a04eac6b9998144c1ca54b8a54109 (diff)
downloadframeworks_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.java39
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,