summaryrefslogtreecommitdiffstats
path: root/audio/audio_hw.c
diff options
context:
space:
mode:
authorSimon Wilson <simonwilson@google.com>2011-09-13 13:15:07 -0700
committerSimon Wilson <simonwilson@google.com>2011-09-13 14:07:29 -0700
commite274660f22d26d649e77f21900ce3d59bd0db728 (patch)
treec2422cd7ad97178691c4cb9ae0278132198c9889 /audio/audio_hw.c
parentf95371fed2d8f17892f5249748de9bc730fc03ab (diff)
downloaddevice_samsung_tuna-e274660f22d26d649e77f21900ce3d59bd0db728.zip
device_samsung_tuna-e274660f22d26d649e77f21900ce3d59bd0db728.tar.gz
device_samsung_tuna-e274660f22d26d649e77f21900ce3d59bd0db728.tar.bz2
audio: don't clear output devices at standby
The output devices in adev->devices are cleared sometimes when making a call. The sequence is as follows: 1. do_output_standby() (clears bits in adev->devices) 2. set_mode to IN_CALL state 3. select_output_device() reads the bits in adev->devices, but none are set. As a result, with no valid route, call audio fails. Fixes bug 5309421 Change-Id: I81efe325d8b482f7474750c08d353ca989da9939
Diffstat (limited to 'audio/audio_hw.c')
-rw-r--r--audio/audio_hw.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/audio/audio_hw.c b/audio/audio_hw.c
index 8d7a11f..45ece23 100644
--- a/audio/audio_hw.c
+++ b/audio/audio_hw.c
@@ -877,8 +877,6 @@ static int start_output_stream(struct tuna_stream_out *out)
if (adev->mode != AUDIO_MODE_IN_CALL) {
/* FIXME: only works if only one output can be active at a time */
- adev->devices &= ~AUDIO_DEVICE_OUT_ALL;
- adev->devices |= out->device;
select_output_device(adev);
}
@@ -1077,7 +1075,6 @@ static int do_output_standby(struct tuna_stream_out *out)
be done when the call is ended */
if (adev->mode != AUDIO_MODE_IN_CALL) {
/* FIXME: only works if only one output can be active at a time */
- adev->devices &= ~AUDIO_DEVICE_OUT_ALL;
set_route_by_array(adev->mixer, hs_output, 0);
set_route_by_array(adev->mixer, hf_output, 0);
}