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: Ieb72a71e06e9b3079cc8bc76c78ce83e060a2ea2
There is a bug in the way audio policy manager handles A2DP interface suspend/restore
when SCO is used. This bug is not new but has been triggered by a change in the timing
of the events received by audio policy manager when a call is setup and torn down
introduced by commit 164a8f86c7e48992691368c4895709c3bdb835a4.
The fix consists in grouping the control of A2DP suspended state in a single function
that is called systematically when conditions affecting this state are changed:
- call state change
- device connection/disconnection
- change in forced usage.
Change-Id: Ib76a999513b5afbfd59ba945f8650d2a48d6f480
The fix for issue 2952766 showed some unused code in
AudioPolicyManagerBase::checkOutputForStrategy(): since commit
eb8f850d0b7e53956e917fd9645f808c1a09bc88: there is no need
to update the hardware output device as it will be updated when the
new tracks are created by audioflinger.
Change-Id: I2f46fab58a5db3b4cd03fdaeebd7d6603c8dbbdd
Added methods for audio effects management by audio policy manager.
- control of total CPU load and memory used by effect engines
- selection of output stream for global effects
- added audio session id in parameter list for startOutput() and stopOutput().
this is not used in default audio policy manager implementation.
Change-Id: I3467e64035387cc5272266b1318a5ed788958374
Merge commit '28739a81dbdeb046adc9e31ffadbe65cb45563b3' into kraken
* commit '28739a81dbdeb046adc9e31ffadbe65cb45563b3':
Add a static library containing power.c for use by the librpc library.
We now use the libhardware HAL interface instead.
Change-Id: I0e52ff1da13109b509f166a6437d0a24cdd389b3
Signed-off-by: Mike Lockwood <lockwood@android.com>
Merge commit 'b678f3bb6c3fa3cc88cda872909ace5791a6304c' into kraken
* commit 'b678f3bb6c3fa3cc88cda872909ace5791a6304c':
Add support for GPS privacy lock. DO NOT MERGE
The gps debug extension provides a single function that allows the native
gps implementation to include an arbitrary string in bugreports.
Change-Id: I1bd8e403e421847784804c47d83e3600340b3fea
Signed-off-by: Fred Fettinger <fred.fettinger@motorola.com>
Signed-off-by: Mike Lockwood <lockwood@android.com>
The noise is the residual ring tone that is still playing while the call is answered and the
audio route changed to headset or earpiece.
The fix consists in muting the ringing tone when changing mode from ringtone to in call
and delaying the route change until the audio buffers are emptied.
First implementations of audio policy manager in Eclair branch have shown that most code is common to all platforms.
Creating AudioPolicyManagerBase base class will improve code maintainability and readability.