summaryrefslogtreecommitdiffstats
path: root/hal/audio_hw.c
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2014-09-22 18:42:28 -0700
committerEric Laurent <elaurent@google.com>2014-09-26 15:52:33 -0700
commit01fd3fbe9be158410b983d75ebc54b8c5cd0515f (patch)
tree07735d67f775149447c540a7735f7179f9cedfee /hal/audio_hw.c
parent4920d3856ef7e8d678329d88276b5dcc78a6aa23 (diff)
downloadhardware_qcom_audio-01fd3fbe9be158410b983d75ebc54b8c5cd0515f.tar.gz
hardware_qcom_audio-01fd3fbe9be158410b983d75ebc54b8c5cd0515f.tar.bz2
hardware_qcom_audio-01fd3fbe9be158410b983d75ebc54b8c5cd0515f.zip
audio: fix audio mode transitions
Allow direct transition from IN_CALL to IN_COMMUNICATION modes by exiting in call state when transitioning to NORMAL or IN_COMMUNICATION modes instead of only when transitioning to NORMAL. Bug: 17591576. Change-Id: I2a915df0b283b311b8cbec0fa9cd8573f76d4686
Diffstat (limited to 'hal/audio_hw.c')
-rw-r--r--hal/audio_hw.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 7d5456fa..c14078ec 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -1327,7 +1327,7 @@ static int out_set_parameters(struct audio_stream *stream, const char *kvpairs)
* Because select_devices() must be called to switch back the music
* playback to headset.
*/
- if ((adev->mode == AUDIO_MODE_NORMAL) &&
+ if (((adev->mode == AUDIO_MODE_NORMAL) || (adev->mode == AUDIO_MODE_IN_COMMUNICATION)) &&
voice_is_in_call(adev) &&
output_drives_call(adev, out)) {
ret = voice_stop_call(adev);