summaryrefslogtreecommitdiffstats
path: root/audio
diff options
context:
space:
mode:
authorSimon Wilson <simonwilson@google.com>2011-09-15 17:53:19 -0700
committerSimon Wilson <simonwilson@google.com>2011-09-18 12:54:20 -0700
commite1ba1b93ebcc5a6b499ad519d4dfd5bdf7bd7465 (patch)
treec66a1efa88ccc9d604cae6da4c2c6336119fd290 /audio
parent3e9bb2fc86777843b113f4e1f270169859b31dc3 (diff)
downloaddevice_samsung_tuna-e1ba1b93ebcc5a6b499ad519d4dfd5bdf7bd7465.zip
device_samsung_tuna-e1ba1b93ebcc5a6b499ad519d4dfd5bdf7bd7465.tar.gz
device_samsung_tuna-e1ba1b93ebcc5a6b499ad519d4dfd5bdf7bd7465.tar.bz2
audio: defer ril acoustic call until after modem PCM is open
Call ril_set_call_audio_path() after the modem PCMs are opened so that if it blocks, there will at least be call audio. Change-Id: Ibf4305150cf18cad83b88d57e3be4ac8399ae77f
Diffstat (limited to 'audio')
-rw-r--r--audio/audio_hw.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/audio/audio_hw.c b/audio/audio_hw.c
index a605387..fe0a187 100644
--- a/audio/audio_hw.c
+++ b/audio/audio_hw.c
@@ -478,6 +478,7 @@ static void select_input_device(struct tuna_audio_device *adev);
static int adev_set_voice_volume(struct audio_hw_device *dev, float volume);
static int do_input_standby(struct tuna_stream_in *in);
static int do_output_standby(struct tuna_stream_out *out);
+static void set_incall_device(struct tuna_audio_device *adev);
/* Returns true on devices that must use sidetone capture,
* false otherwise. */
@@ -551,6 +552,8 @@ static int start_call(struct tuna_audio_device *adev)
pcm_start(adev->pcm_modem_dl);
pcm_start(adev->pcm_modem_ul);
+ set_incall_device(adev);
+
return 0;
err_open_dl:
@@ -807,8 +810,6 @@ static void select_output_device(struct tuna_audio_device *adev)
/* enable sidetone mixer capture if needed */
sidetone_capture_on = earpiece_on && adev->sidetone_capture;
}
-
- set_incall_device(adev);
}
mixer_ctl_set_value(adev->mixer_ctls.sidetone_capture, 0, sidetone_capture_on);