diff options
author | Simon Wilson <simonwilson@google.com> | 2011-09-13 13:15:07 -0700 |
---|---|---|
committer | Simon Wilson <simonwilson@google.com> | 2011-09-13 14:07:29 -0700 |
commit | 164274d50c1e1e7ed23f0a81e1fbdb5ec59aa35f (patch) | |
tree | 5d49c4d373a802d7107c299ddf800393ed668873 /audio | |
parent | 7870dda9f826fefe535ce88b7cb5122bbc1b90c6 (diff) | |
download | device_samsung_tuna-164274d50c1e1e7ed23f0a81e1fbdb5ec59aa35f.zip device_samsung_tuna-164274d50c1e1e7ed23f0a81e1fbdb5ec59aa35f.tar.gz device_samsung_tuna-164274d50c1e1e7ed23f0a81e1fbdb5ec59aa35f.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')
-rw-r--r-- | audio/audio_hw.c | 3 |
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); } |