summaryrefslogtreecommitdiffstats
path: root/hal/audio_extn/fm.c
diff options
context:
space:
mode:
authorNaresh Tanniru <ntanniru@codeaurora.org>2014-12-08 16:49:22 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2015-01-21 01:52:00 -0800
commit9e95c2424ab48350d6494236ded2bcc9ae080e2c (patch)
tree2e61af63aec55bccc13e4acd6bfb17720b0790ec /hal/audio_extn/fm.c
parent397d63698f8739a39ba4472e572900d595fd77ff (diff)
downloadhardware_qcom_audio-9e95c2424ab48350d6494236ded2bcc9ae080e2c.tar.gz
hardware_qcom_audio-9e95c2424ab48350d6494236ded2bcc9ae080e2c.tar.bz2
hardware_qcom_audio-9e95c2424ab48350d6494236ded2bcc9ae080e2c.zip
hal: Fix for FM mute issue on start of FM record
- FM audio is muted on start of record session when playback record concurrency enabled - Add support for FM playback device switch on record concurrency enabled Change-Id: I51795dedf0f32c41c6a84889bb7f62ee21713720
Diffstat (limited to 'hal/audio_extn/fm.c')
-rw-r--r--hal/audio_extn/fm.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/hal/audio_extn/fm.c b/hal/audio_extn/fm.c
index b6f8689f..ed3776cc 100644
--- a/hal/audio_extn/fm.c
+++ b/hal/audio_extn/fm.c
@@ -34,6 +34,7 @@
#ifdef FM_ENABLED
#define AUDIO_PARAMETER_KEY_HANDLE_FM "handle_fm"
#define AUDIO_PARAMETER_KEY_FM_VOLUME "fm_volume"
+#define AUDIO_PARAMETER_KEY_REC_PLAY_CONC "rec_play_conc_on"
static struct pcm_config pcm_config_fm = {
.channels = 2,
@@ -280,6 +281,21 @@ void audio_extn_fm_set_parameters(struct audio_device *adev,
fm_set_volume(adev, vol);
}
+#ifdef RECORD_PLAY_CONCURRENCY
+ ret = str_parms_get_str(parms, AUDIO_PARAMETER_KEY_REC_PLAY_CONC,
+ value, sizeof(value));
+ if ((ret >= 0)
+ && (fmmod.is_fm_running == true)) {
+
+ if (!strncmp("true", value, sizeof("true")))
+ ALOGD("Record play concurrency ON Forcing FM device reroute");
+ else
+ ALOGD("Record play concurrency OFF Forcing FM device reroute");
+
+ select_devices(adev, USECASE_AUDIO_PLAYBACK_FM);
+ fm_set_volume(adev,fmmod.fm_volume);
+ }
+#endif
exit:
ALOGV("%s: exit", __func__);
}