Fix issue 2192181: AudioFlinger must provide separated methods to set VOICE_CALL stream volume and down link audio volume.
Added setVoiceVolume() method to AudioSystem, AudioFlinger, IAudioFlinger, AudioPolicyService.
Removed call to AudioHardwareInterface::setVoiceVolume() from AudioFlinger::setStreamVolume().
diff --git a/include/media/AudioSystem.h b/include/media/AudioSystem.h
index 57f8102..a7c8a0a 100644
--- a/include/media/AudioSystem.h
+++ b/include/media/AudioSystem.h
@@ -220,6 +220,7 @@
static status_t getInputBufferSize(uint32_t sampleRate, int format, int channelCount,
size_t* buffSize);
+ static status_t setVoiceVolume(float volume);
//
// AudioPolicyService interface
diff --git a/include/media/IAudioFlinger.h b/include/media/IAudioFlinger.h
index 8018568..a46c727 100644
--- a/include/media/IAudioFlinger.h
+++ b/include/media/IAudioFlinger.h
@@ -102,10 +102,10 @@
virtual status_t setParameters(int ioHandle, const String8& keyValuePairs) = 0;
virtual String8 getParameters(int ioHandle, const String8& keys) = 0;
-
+
// register a current process for audio output change notifications
virtual void registerClient(const sp<IAudioFlingerClient>& client) = 0;
-
+
// retrieve the audio recording buffer size
virtual size_t getInputBufferSize(uint32_t sampleRate, int format, int channelCount) = 0;
@@ -128,6 +128,8 @@
virtual status_t closeInput(int input) = 0;
virtual status_t setStreamOutput(uint32_t stream, int output) = 0;
+
+ virtual status_t setVoiceVolume(float volume) = 0;
};