diff options
author | Eric Laurent <elaurent@google.com> | 2010-01-25 08:49:09 -0800 |
---|---|---|
committer | Eric Laurent <elaurent@google.com> | 2010-01-25 14:00:10 -0800 |
commit | 23f25cda0c73f8eb878844dea32fb0bd419edca2 (patch) | |
tree | c1945d31c382864db8da0b829ccb017d2c31bbd6 /media/java | |
parent | bb04b631b60e0286c02e0fd4dd7ab764a001e0ce (diff) | |
download | frameworks_base-23f25cda0c73f8eb878844dea32fb0bd419edca2.zip frameworks_base-23f25cda0c73f8eb878844dea32fb0bd419edca2.tar.gz frameworks_base-23f25cda0c73f8eb878844dea32fb0bd419edca2.tar.bz2 |
Fix issue 2378022: AudioService should direct volume control to STREAM_VOICE_CALL stream when STREAM_VOICE_CALL stream is active.
Modified AudioService.getActiveStreamType() so that STREAM_VOICE_CALL is selected when a track using this stream
type is playing.
Chanded isMusicActive() for a more generic isStreamActive(stream) method in AudioSystem, IAudioFlinger and AudioFlinger.
Diffstat (limited to 'media/java')
-rw-r--r-- | media/java/android/media/AudioManager.java | 2 | ||||
-rw-r--r-- | media/java/android/media/AudioService.java | 6 | ||||
-rw-r--r-- | media/java/android/media/AudioSystem.java | 6 |
3 files changed, 7 insertions, 7 deletions
diff --git a/media/java/android/media/AudioManager.java b/media/java/android/media/AudioManager.java index c2e6142..171881f 100644 --- a/media/java/android/media/AudioManager.java +++ b/media/java/android/media/AudioManager.java @@ -924,7 +924,7 @@ public class AudioManager { * @return true if any music tracks are active. */ public boolean isMusicActive() { - return AudioSystem.isMusicActive(); + return AudioSystem.isStreamActive(STREAM_MUSIC); } /* diff --git a/media/java/android/media/AudioService.java b/media/java/android/media/AudioService.java index 9362305..bde8a47 100644 --- a/media/java/android/media/AudioService.java +++ b/media/java/android/media/AudioService.java @@ -957,10 +957,10 @@ public class AudioService extends IAudioService.Stub { if (AudioSystem.getForceUse(AudioSystem.FOR_COMMUNICATION) == AudioSystem.FORCE_BT_SCO) { // Log.v(TAG, "getActiveStreamType: Forcing STREAM_BLUETOOTH_SCO..."); return AudioSystem.STREAM_BLUETOOTH_SCO; - } else if (isOffhook) { + } else if (isOffhook || AudioSystem.isStreamActive(AudioSystem.STREAM_VOICE_CALL)) { // Log.v(TAG, "getActiveStreamType: Forcing STREAM_VOICE_CALL..."); return AudioSystem.STREAM_VOICE_CALL; - } else if (AudioSystem.isMusicActive()) { + } else if (AudioSystem.isStreamActive(AudioSystem.STREAM_MUSIC)) { // Log.v(TAG, "getActiveStreamType: Forcing STREAM_MUSIC..."); return AudioSystem.STREAM_MUSIC; } else if (suggestedStreamType == AudioManager.USE_DEFAULT_STREAM_TYPE) { @@ -1366,7 +1366,7 @@ public class AudioService extends IAudioService.Stub { // Force creation of new IAudioflinger interface if (!mMediaServerOk) { Log.e(TAG, "Media server died."); - AudioSystem.isMusicActive(); + AudioSystem.isStreamActive(AudioSystem.STREAM_MUSIC); sendMsg(mAudioHandler, MSG_MEDIA_SERVER_DIED, SHARED_MSG, SENDMSG_NOOP, 0, 0, null, 500); } diff --git a/media/java/android/media/AudioSystem.java b/media/java/android/media/AudioSystem.java index 137b919..a4818ff 100644 --- a/media/java/android/media/AudioSystem.java +++ b/media/java/android/media/AudioSystem.java @@ -153,11 +153,11 @@ public class AudioSystem } /* - * Checks whether any music is active. + * Checks whether the specified stream type is active. * - * return true if any music tracks are active. + * return true if any track playing on this stream is active. */ - public static native boolean isMusicActive(); + public static native boolean isStreamActive(int stream); /* * Sets a group generic audio configuration parameters. The use of these parameters |