diff options
author | Arne Coucheron <arco68@gmail.com> | 2015-01-21 08:06:13 +0100 |
---|---|---|
committer | Arne Coucheron <arco68@gmail.com> | 2016-05-11 00:12:21 +0200 |
commit | ee5cce315965e1982585d6afb958e6f687128c57 (patch) | |
tree | a03aebdcfc098359d61417f3be0baa0f006ee466 | |
parent | f3e2a15c5284cadf39a93e430c029aa7dba7902b (diff) | |
download | hardware_qcom_audio-ee5cce315965e1982585d6afb958e6f687128c57.tar.gz hardware_qcom_audio-ee5cce315965e1982585d6afb958e6f687128c57.tar.bz2 hardware_qcom_audio-ee5cce315965e1982585d6afb958e6f687128c57.zip |
hal: Use old API for setting voice volume and mute states
A family kernels doesn't support the new API.
Change-Id: Iaa0d7c0641bfb0cc66f70bef958e860b38a0864a
-rw-r--r-- | hal/Android.mk | 1 | ||||
-rw-r--r-- | hal/msm8960/platform.c | 15 | ||||
-rw-r--r-- | hal/voice_extn/compress_voip.c | 4 |
3 files changed, 15 insertions, 5 deletions
diff --git a/hal/Android.mk b/hal/Android.mk index 1eb3ba6f..e7f9070b 100644 --- a/hal/Android.mk +++ b/hal/Android.mk @@ -26,6 +26,7 @@ endif ifneq ($(filter msm8960,$(TARGET_BOARD_PLATFORM)),) # A-family platform uses msm8960 code base AUDIO_PLATFORM = msm8960 + LOCAL_CFLAGS := -DPLATFORM_MSM8960 # MULTIPLE_HW_VARIANTS_ENABLED := true endif diff --git a/hal/msm8960/platform.c b/hal/msm8960/platform.c index f132a20a..afad41a7 100644 --- a/hal/msm8960/platform.c +++ b/hal/msm8960/platform.c @@ -1204,7 +1204,8 @@ int platform_set_voice_volume(void *platform, int volume) struct platform_data *my_data = (struct platform_data *)platform; struct audio_device *adev = my_data->adev; struct mixer_ctl *ctl; - const char *mixer_ctl_name = "Voice Rx Gain"; + //const char *mixer_ctl_name = "Voice Rx Gain"; + const char *mixer_ctl_name = "Voice Rx Volume"; int vol_index = 0, ret = 0; uint32_t set_values[ ] = {0, ALL_SESSION_VSID, @@ -1222,8 +1223,10 @@ int platform_set_voice_volume(void *platform, int volume) __func__, mixer_ctl_name); return -EINVAL; } - ALOGV("Setting voice volume index: %d", set_values[0]); - mixer_ctl_set_array(ctl, set_values, ARRAY_SIZE(set_values)); + //ALOGV("Setting voice volume index: %d", set_values[0]); + //mixer_ctl_set_array(ctl, set_values, ARRAY_SIZE(set_values)); + ALOGV("Setting voice volume index: %d", vol_index); + mixer_ctl_set_value(ctl, 0, vol_index); if (my_data->csd != NULL) { ret = my_data->csd->volume(ALL_SESSION_VSID, volume); @@ -1253,7 +1256,8 @@ int platform_set_mic_mute(void *platform, bool state) return -EINVAL; } ALOGV("Setting voice mute state: %d", state); - mixer_ctl_set_array(ctl, set_values, ARRAY_SIZE(set_values)); + //mixer_ctl_set_array(ctl, set_values, ARRAY_SIZE(set_values)); + mixer_ctl_set_value(ctl, 0, state); if (my_data->csd != NULL) { ret = my_data->csd->mic_mute(ALL_SESSION_VSID, state); @@ -1297,7 +1301,8 @@ int platform_set_device_mute(void *platform, bool state, char *dir) ALOGV("%s: Setting device mute state: %d, mixer ctrl:%s", __func__,state, mixer_ctl_name); - mixer_ctl_set_array(ctl, set_values, ARRAY_SIZE(set_values)); + //mixer_ctl_set_array(ctl, set_values, ARRAY_SIZE(set_values)); + mixer_ctl_set_value(ctl, 0, state); return ret; } diff --git a/hal/voice_extn/compress_voip.c b/hal/voice_extn/compress_voip.c index 31ae2acc..0eaec87a 100644 --- a/hal/voice_extn/compress_voip.c +++ b/hal/voice_extn/compress_voip.c @@ -136,7 +136,11 @@ static int audio_format_to_voip_mode(int format) static int voip_set_volume(struct audio_device *adev, int volume) { struct mixer_ctl *ctl; +#ifdef PLATFORM_MSM8960 + const char *mixer_ctl_name = "Voip Rx Volume"; +#else const char *mixer_ctl_name = "Voip Rx Gain"; +#endif int vol_index = 0; uint32_t set_values[ ] = {0, DEFAULT_VOLUME_RAMP_DURATION_MS}; |