Eric Laurent
b593c76fed
Fix issue 2473820: The ACDB ID used for audio playback is not correct after MT call.
The problem comes from a mismatch between the audio policy manager and the audio HAL behavior. AudioHardware design requires that the audio routing is reapplied every time we enter or exit in call mode to force audio paths and acoustics settings update. This is done by audio policy manager forcing a route change in this case. It is also necessary that AudioHardware does not ignore this change request and to this purpose current snd device stored in mCurSndDevice is cleared by setMode() so that next call to doRouting() actually reapplies the device selection. The problem is that setMode() clears mCurSndDevice unconditionnaly which makes that if we enter ringtone mode but go back to normal mode (rejected call), audio policy manager will not reapply current device and we will remain in a state where mCurSndDevice is undefined. This state will persist until a new device selection is performed. The fix consists in clearing mCurSndDevice only if transitioning to/from in call mode.
Description
No description provided
Languages
C++
90.2%
Objective-C
4.6%
C
2.8%
Makefile
2.4%