OSDN Git Service

Fix issue 2641884: Bluetooth volume is dependent on in call volume.
authorEric Laurent <elaurent@google.com>
Tue, 25 May 2010 16:30:03 +0000 (09:30 -0700)
committerEric Laurent <elaurent@google.com>
Tue, 25 May 2010 16:30:03 +0000 (09:30 -0700)
The problem is that the code in AudioPolicyManagerBase::checkAndSetVolume() that forces
voice volume to max when setting bluetooth SCO volume is not called if the bluetooth stream
volume did not actually change. So even if we re apply volumes when switching to bluetooth
device, the voice volume is not changed in audio HAL and remains what it was when routed to earpiece.
What makes things worse on Passion is that stream volumes are limited when connected to bluetooth
and their actual value does not change as soon as they exceed the limit threshold.

Change-Id: Ic6c54b4a7fd54983f445de9a9b5cd2ea0025155c

include/hardware_legacy/AudioPolicyManagerBase.h

index f7d8ef8..d174ebe 100644 (file)
@@ -270,7 +270,7 @@ protected:
         nsecs_t mMusicStopTime;                                             // time when last music stream was stopped
         bool    mLimitRingtoneVolume;                                       // limit ringtone volume to music volume if headset connected
         uint32_t mDeviceForStrategy[NUM_STRATEGIES];
-
+        float   mLastVoiceVolume;                                           // last voice volume value sent to audio HAL
 #ifdef AUDIO_POLICY_TEST
         Mutex   mLock;
         Condition mWaitWorkCV;