status_t SpeechEnhancementController::SetNBSpeechParametersToAllModem(const AUDIO_CUSTOM_PARAM_STRUCT *pSphParamNB) { SpeechDriverFactory *pSpeechDriverFactory = SpeechDriverFactory::GetInstance(); SpeechDriverInterface *pSpeechDriver = NULL; AUDIO_CUSTOM_PARAM_STRUCT mSphParamNB; if (mSMNROn == true) { //forcely set single mic setting ALOGD("%s(), mSMNROn = %d, set single mic setting", __FUNCTION__, mSMNROn); memcpy(&mSphParamNB, pSphParamNB, sizeof(AUDIO_CUSTOM_PARAM_STRUCT)); for (int speech_mode_index = 0; speech_mode_index < 8; speech_mode_index++) { (mSphParamNB.speech_mode_para[speech_mode_index][13]) = 0; (mSphParamNB.speech_mode_para[speech_mode_index][14]) = 0; } } for (int modem_index = MODEM_1; modem_index < NUM_MODEM; modem_index++) { pSpeechDriver = pSpeechDriverFactory->GetSpeechDriverByIndex((modem_index_t)modem_index); if (pSpeechDriver != NULL) // Might be single talk and some speech driver is NULL { if (mSMNROn != true) { pSpeechDriver->SetNBSpeechParameters(pSphParamNB); } else { pSpeechDriver->SetNBSpeechParameters(&mSphParamNB); } } } return NO_ERROR; }
status_t SpeechEnhancementController::SetNBSpeechParametersToAllModem(const AUDIO_CUSTOM_PARAM_STRUCT *pSphParamNB) { SpeechDriverFactory *pSpeechDriverFactory = SpeechDriverFactory::GetInstance(); SpeechDriverInterface *pSpeechDriver = NULL; for (int modem_index = MODEM_1; modem_index < NUM_MODEM; modem_index++) { pSpeechDriver = pSpeechDriverFactory->GetSpeechDriverByIndex((modem_index_t)modem_index); if (pSpeechDriver != NULL) { // Might be single talk and some speech driver is NULL pSpeechDriver->SetNBSpeechParameters(pSphParamNB); } } return NO_ERROR; }