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.
diff --git a/include/media/AudioSystem.h b/include/media/AudioSystem.h
index f935bb9..b42bf54 100644
--- a/include/media/AudioSystem.h
+++ b/include/media/AudioSystem.h
@@ -194,8 +194,8 @@
// set audio mode in audio hardware (see AudioSystem::audio_mode)
static status_t setMode(int mode);
- // returns true if tracks are active on AudioSystem::MUSIC stream
- static status_t isMusicActive(bool *state);
+ // returns true in *state if tracks are active on the specified stream
+ static status_t isStreamActive(int stream, bool *state);
// set/get audio hardware parameters. The function accepts a list of parameters
// key value pairs in the form: key1=value1;key2=value2;...
diff --git a/include/media/IAudioFlinger.h b/include/media/IAudioFlinger.h
index a46c727..b689dcbc 100644
--- a/include/media/IAudioFlinger.h
+++ b/include/media/IAudioFlinger.h
@@ -97,8 +97,8 @@
virtual status_t setMicMute(bool state) = 0;
virtual bool getMicMute() const = 0;
- // is a music stream active?
- virtual bool isMusicActive() const = 0;
+ // is any track active on this stream?
+ virtual bool isStreamActive(int stream) const = 0;
virtual status_t setParameters(int ioHandle, const String8& keyValuePairs) = 0;
virtual String8 getParameters(int ioHandle, const String8& keys) = 0;