summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsbrissen <sbrissen@hotmail.com>2013-02-11 16:44:58 -0500
committersbrissen <sbrissen@hotmail.com>2013-02-11 16:44:58 -0500
commitab62153f15bb36b700c1a5e97761cfe4add311aa (patch)
tree0e83318ed82e3d3cf7c41b25e9f4c5968371b6af
parentcf47bed6acfebcc15285571b603c56ec9a348f57 (diff)
downloaddevice_samsung_t0lte-ab62153f15bb36b700c1a5e97761cfe4add311aa.tar.gz
device_samsung_t0lte-ab62153f15bb36b700c1a5e97761cfe4add311aa.tar.bz2
device_samsung_t0lte-ab62153f15bb36b700c1a5e97761cfe4add311aa.zip
t0lte: increase speakerphone volume and allow voice index to be different for output devices
Change-Id: Idc4ad0a8fa9e252e72d0673ef674f4a7c1d4de42
-rwxr-xr-x[-rw-r--r--]audio/audio_hw.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/audio/audio_hw.c b/audio/audio_hw.c
index b687139..f7dec8e 100644..100755
--- a/audio/audio_hw.c
+++ b/audio/audio_hw.c
@@ -196,6 +196,7 @@ struct m0_dev_cfg {
void *mCsdHandle;
int rx_dev_id, tx_dev_id;
+int voice_index;
static int (*csd_client_init)();
static int (*csd_client_deinit)();
@@ -530,17 +531,20 @@ static void set_incall_device(struct m0_audio_device *adev)
case AUDIO_DEVICE_OUT_EARPIECE:
rx_dev_id = DEVICE_HANDSET_RX_ACDB_ID;
tx_dev_id = DEVICE_HANDSET_TX_ACDB_ID;
+ voice_index = 5;
break;
case AUDIO_DEVICE_OUT_SPEAKER:
case AUDIO_DEVICE_OUT_AUX_DIGITAL:
case AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET:
- rx_dev_id = DEVICE_SPEAKER_MONO_RX_ACDB_ID;
- tx_dev_id = DEVICE_HANDSET_TX_ACDB_ID;
+ rx_dev_id = DEVICE_SPEAKER_MONO_RX_ACDB_ID;
+ tx_dev_id = DEVICE_SPEAKER_TX_ACDB_ID;
+ voice_index = 7;
break;
case AUDIO_DEVICE_OUT_WIRED_HEADSET:
case AUDIO_DEVICE_OUT_WIRED_HEADPHONE:
- rx_dev_id = DEVICE_HEADSET_RX_ACDB_ID;
- tx_dev_id = DEVICE_HEADSET_TX_ACDB_ID;
+ rx_dev_id = DEVICE_HEADSET_RX_ACDB_ID;
+ tx_dev_id = DEVICE_HEADSET_TX_ACDB_ID;
+ voice_index = 5;
break;
case AUDIO_DEVICE_OUT_BLUETOOTH_SCO:
case AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET:
@@ -552,10 +556,12 @@ static void set_incall_device(struct m0_audio_device *adev)
rx_dev_id = DEVICE_BT_SCO_RX_ACDB_ID;
tx_dev_id = DEVICE_BT_SCO_TX_ACDB_ID;
}
+ voice_index = 5;
break;
default:
rx_dev_id = DEVICE_HANDSET_RX_ACDB_ID;
tx_dev_id = DEVICE_HANDSET_TX_ACDB_ID;
+ voice_index = 5;
break;
}
@@ -583,6 +589,8 @@ static void set_incall_device(struct m0_audio_device *adev)
ALOGE("%s: csd_switch_device failed, error %d", __func__, err);
}
}
+
+ adev_set_voice_volume(&adev->hw_device, adev->voice_volume);
}
static void set_input_volumes(struct m0_audio_device *adev, int main_mic_on,
@@ -642,7 +650,7 @@ static void select_mode(struct m0_audio_device *adev)
adev->out_device &= ~AUDIO_DEVICE_OUT_SPEAKER;
select_output_device(adev);
start_call(adev);
- adev_set_voice_volume(&adev->hw_device, adev->voice_volume);
+ //adev_set_voice_volume(&adev->hw_device, adev->voice_volume);
adev->in_call = 1;
}
} else {
@@ -2696,11 +2704,13 @@ static int adev_set_voice_volume(struct audio_hw_device *dev, float volume)
adev->voice_volume = volume;
+ ALOGD("%s: Voice Index: %i", __func__, voice_index);
+
if (adev->mode == AUDIO_MODE_IN_CALL) {
if (csd_volume_index == NULL) {
ALOGE("dlsym: Error:%s Loading csd_volume_index", dlerror());
} else {
- volume = volume * 5;
+ volume = volume * voice_index;
ALOGD("%s: calling csd_volume_index(%f)", __func__, volume);
csd_volume_index(volume);
}