Loading alsa_sound/alsa_default.cpp +39 −2 Original line number Diff line number Diff line Loading @@ -78,11 +78,13 @@ static void s_enable_slow_talk(bool flag); static void s_set_voc_rec_mode(uint8_t mode); static void s_set_volte_mic_mute(int state); static void s_set_volte_volume(int vol); static bool s_is_tmus(); #ifdef SEPERATED_AUDIO_INPUT static void s_setInput(int); static int input_source; #endif static int mccmnc; #ifdef QCOM_CSDCLIENT_ENABLED static void s_set_csd_handle(void*); #endif Loading Loading @@ -1307,6 +1309,8 @@ static void disableDevice(alsa_handle_t *handle) char *getUCMDevice(uint32_t devices, int input, char *rxDevice) { bool is_tmus = s_is_tmus(); if (!input) { if (!(mDevSettingsFlag & TTY_OFF) && (callMode == AudioSystem::MODE_IN_CALL) && Loading Loading @@ -1349,6 +1353,9 @@ char *getUCMDevice(uint32_t devices, int input, char *rxDevice) #endif } else if (devices & AudioSystem::DEVICE_OUT_EARPIECE) { if (callMode == AudioSystem::MODE_IN_CALL) { if(is_tmus) return strdup(SND_USE_CASE_DEV_VOC_EARPIECE_TMUS); /* Voice HANDSET RX for TMUS */ else return strdup(SND_USE_CASE_DEV_VOC_EARPIECE); /* Voice HANDSET RX */ } else return strdup(SND_USE_CASE_DEV_EARPIECE); /* HANDSET RX */ Loading Loading @@ -1439,6 +1446,9 @@ char *getUCMDevice(uint32_t devices, int input, char *rxDevice) #ifdef USES_FLUENCE_INCALL if(callMode == AudioSystem::MODE_IN_CALL) { if (fluence_mode == FLUENCE_MODE_ENDFIRE) { if(is_tmus) return strdup(SND_USE_CASE_DEV_DUAL_MIC_ENDFIRE_TMUS); /* DUALMIC EF TX */ else return strdup(SND_USE_CASE_DEV_DUAL_MIC_ENDFIRE); /* DUALMIC EF TX */ } else if (fluence_mode == FLUENCE_MODE_BROADSIDE) { return strdup(SND_USE_CASE_DEV_DUAL_MIC_BROADSIDE); /* DUALMIC BS TX */ Loading Loading @@ -1776,4 +1786,31 @@ static void s_set_csd_handle(void* handle) } #endif static bool s_is_tmus() { char value[128]; bool ret = false; if (mccmnc == 0) { property_get("gsm.sim.operator.numeric",value,"0"); mccmnc = atoi(value); } ALOGD("%s: mnc_mcc : %d", __FUNCTION__, mccmnc); switch(mccmnc) { //TMUS MCC(310), MNC(490, 260, 026) case 310490: case 310260: case 310026: ret = true; break; default: ret = false; break; } return ret; } } libalsa-intf/msm8960_use_cases.h +4 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ extern "C" { #define CAP_TX 0x2 #define CAP_VOICE 0x4 #define DEVICE_HANDSET_RX_ACDB_ID 7 // HANDSET_SPKR #define DEVICE_HANDSET_RX_TMUS_ACDB_ID 81// HANDSET_SPKR #define DEVICE_HANDSET_TX_ACDB_ID 4 // HANDSET_MIC #define DEVICE_SPEAKER_MONO_RX_ACDB_ID 14// SPKR_PHONE_SPKR_MONO #define DEVICE_SPEAKER_STEREO_RX_ACDB_ID 15// SPKR_PHONE_SPKR_STEREO Loading @@ -52,6 +53,7 @@ extern "C" { #define DEVICE_HEADSET_TX_ACDB_ID 8 // HEADSET_MIC #define DEVICE_DUALMIC_HANDSET_TX_BROADSIDE_ACDB_ID 5 // HANDSET_MIC_BROADSIDE #define DEVICE_DUALMIC_HANDSET_TX_ENDFIRE_ACDB_ID 6 // HANDSET_MIC_ENDFIRE #define DEVICE_DUALMIC_HANDSET_TX_ENDFIRE_TMUS_ACDB_ID 91// HANDSET_MIC_ENDFIRE #define DEVICE_DUALMIC_SPEAKER_TX_BROADSIDE_ACDB_ID 12// SPKR_PHONE_MIC_BROADSIDE #define DEVICE_DUALMIC_SPEAKER_TX_ENDFIRE_ACDB_ID 13// SPKR_PHONE_MIC_ENDFIRE #define DEVICE_TTY_HEADSET_MONO_RX_ACDB_ID 17// TTY_HEADSET_SPKR Loading Loading @@ -231,6 +233,7 @@ static card_mapping_t card_mapping_list[] = { #define SND_USE_CASE_DEV_TTY_HANDSET_ANALOG_TX "TTY Handset Analog Tx" #define SND_USE_CASE_DEV_DUAL_MIC_BROADSIDE "DMIC Broadside" #define SND_USE_CASE_DEV_DUAL_MIC_ENDFIRE "DMIC Endfire" #define SND_USE_CASE_DEV_DUAL_MIC_ENDFIRE_TMUS "DMIC Endfire TMUS" #define SND_USE_CASE_DEV_SPEAKER_DUAL_MIC_BROADSIDE "Speaker DMIC Broadside" #define SND_USE_CASE_DEV_SPEAKER_DUAL_MIC_ENDFIRE "Speaker DMIC Endfire" #define SND_USE_CASE_DEV_HDMI_TX "HDMI Tx" Loading @@ -256,6 +259,7 @@ static card_mapping_t card_mapping_list[] = { #define SND_USE_CASE_DEV_CAMCORDER_TX "Camcorder Tx" #define SND_USE_CASE_DEV_VOICE_RECOGNITION "Voice Recognition" #define SND_USE_CASE_DEV_VOC_EARPIECE "Voice Earpiece" #define SND_USE_CASE_DEV_VOC_EARPIECE_TMUS "Voice Earpiece TMUS" #define SND_USE_CASE_DEV_VOC_HEADPHONE "Voice Headphones" #define SND_USE_CASE_DEV_VOC_HEADSET "Voice Headset" #define SND_USE_CASE_DEV_VOC_ANC_HEADSET "Voice ANC Headset" Loading Loading
alsa_sound/alsa_default.cpp +39 −2 Original line number Diff line number Diff line Loading @@ -78,11 +78,13 @@ static void s_enable_slow_talk(bool flag); static void s_set_voc_rec_mode(uint8_t mode); static void s_set_volte_mic_mute(int state); static void s_set_volte_volume(int vol); static bool s_is_tmus(); #ifdef SEPERATED_AUDIO_INPUT static void s_setInput(int); static int input_source; #endif static int mccmnc; #ifdef QCOM_CSDCLIENT_ENABLED static void s_set_csd_handle(void*); #endif Loading Loading @@ -1307,6 +1309,8 @@ static void disableDevice(alsa_handle_t *handle) char *getUCMDevice(uint32_t devices, int input, char *rxDevice) { bool is_tmus = s_is_tmus(); if (!input) { if (!(mDevSettingsFlag & TTY_OFF) && (callMode == AudioSystem::MODE_IN_CALL) && Loading Loading @@ -1349,6 +1353,9 @@ char *getUCMDevice(uint32_t devices, int input, char *rxDevice) #endif } else if (devices & AudioSystem::DEVICE_OUT_EARPIECE) { if (callMode == AudioSystem::MODE_IN_CALL) { if(is_tmus) return strdup(SND_USE_CASE_DEV_VOC_EARPIECE_TMUS); /* Voice HANDSET RX for TMUS */ else return strdup(SND_USE_CASE_DEV_VOC_EARPIECE); /* Voice HANDSET RX */ } else return strdup(SND_USE_CASE_DEV_EARPIECE); /* HANDSET RX */ Loading Loading @@ -1439,6 +1446,9 @@ char *getUCMDevice(uint32_t devices, int input, char *rxDevice) #ifdef USES_FLUENCE_INCALL if(callMode == AudioSystem::MODE_IN_CALL) { if (fluence_mode == FLUENCE_MODE_ENDFIRE) { if(is_tmus) return strdup(SND_USE_CASE_DEV_DUAL_MIC_ENDFIRE_TMUS); /* DUALMIC EF TX */ else return strdup(SND_USE_CASE_DEV_DUAL_MIC_ENDFIRE); /* DUALMIC EF TX */ } else if (fluence_mode == FLUENCE_MODE_BROADSIDE) { return strdup(SND_USE_CASE_DEV_DUAL_MIC_BROADSIDE); /* DUALMIC BS TX */ Loading Loading @@ -1776,4 +1786,31 @@ static void s_set_csd_handle(void* handle) } #endif static bool s_is_tmus() { char value[128]; bool ret = false; if (mccmnc == 0) { property_get("gsm.sim.operator.numeric",value,"0"); mccmnc = atoi(value); } ALOGD("%s: mnc_mcc : %d", __FUNCTION__, mccmnc); switch(mccmnc) { //TMUS MCC(310), MNC(490, 260, 026) case 310490: case 310260: case 310026: ret = true; break; default: ret = false; break; } return ret; } }
libalsa-intf/msm8960_use_cases.h +4 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ extern "C" { #define CAP_TX 0x2 #define CAP_VOICE 0x4 #define DEVICE_HANDSET_RX_ACDB_ID 7 // HANDSET_SPKR #define DEVICE_HANDSET_RX_TMUS_ACDB_ID 81// HANDSET_SPKR #define DEVICE_HANDSET_TX_ACDB_ID 4 // HANDSET_MIC #define DEVICE_SPEAKER_MONO_RX_ACDB_ID 14// SPKR_PHONE_SPKR_MONO #define DEVICE_SPEAKER_STEREO_RX_ACDB_ID 15// SPKR_PHONE_SPKR_STEREO Loading @@ -52,6 +53,7 @@ extern "C" { #define DEVICE_HEADSET_TX_ACDB_ID 8 // HEADSET_MIC #define DEVICE_DUALMIC_HANDSET_TX_BROADSIDE_ACDB_ID 5 // HANDSET_MIC_BROADSIDE #define DEVICE_DUALMIC_HANDSET_TX_ENDFIRE_ACDB_ID 6 // HANDSET_MIC_ENDFIRE #define DEVICE_DUALMIC_HANDSET_TX_ENDFIRE_TMUS_ACDB_ID 91// HANDSET_MIC_ENDFIRE #define DEVICE_DUALMIC_SPEAKER_TX_BROADSIDE_ACDB_ID 12// SPKR_PHONE_MIC_BROADSIDE #define DEVICE_DUALMIC_SPEAKER_TX_ENDFIRE_ACDB_ID 13// SPKR_PHONE_MIC_ENDFIRE #define DEVICE_TTY_HEADSET_MONO_RX_ACDB_ID 17// TTY_HEADSET_SPKR Loading Loading @@ -231,6 +233,7 @@ static card_mapping_t card_mapping_list[] = { #define SND_USE_CASE_DEV_TTY_HANDSET_ANALOG_TX "TTY Handset Analog Tx" #define SND_USE_CASE_DEV_DUAL_MIC_BROADSIDE "DMIC Broadside" #define SND_USE_CASE_DEV_DUAL_MIC_ENDFIRE "DMIC Endfire" #define SND_USE_CASE_DEV_DUAL_MIC_ENDFIRE_TMUS "DMIC Endfire TMUS" #define SND_USE_CASE_DEV_SPEAKER_DUAL_MIC_BROADSIDE "Speaker DMIC Broadside" #define SND_USE_CASE_DEV_SPEAKER_DUAL_MIC_ENDFIRE "Speaker DMIC Endfire" #define SND_USE_CASE_DEV_HDMI_TX "HDMI Tx" Loading @@ -256,6 +259,7 @@ static card_mapping_t card_mapping_list[] = { #define SND_USE_CASE_DEV_CAMCORDER_TX "Camcorder Tx" #define SND_USE_CASE_DEV_VOICE_RECOGNITION "Voice Recognition" #define SND_USE_CASE_DEV_VOC_EARPIECE "Voice Earpiece" #define SND_USE_CASE_DEV_VOC_EARPIECE_TMUS "Voice Earpiece TMUS" #define SND_USE_CASE_DEV_VOC_HEADPHONE "Voice Headphones" #define SND_USE_CASE_DEV_VOC_HEADSET "Voice Headset" #define SND_USE_CASE_DEV_VOC_ANC_HEADSET "Voice ANC Headset" Loading