From c781ec5c2548a328f68f29b586dac6dc9b85ceb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Grisez?= Date: Mon, 18 Apr 2016 15:36:57 +0200 Subject: [PATCH] Modify linphonecall.c to use the new API of ms2 concering equalizers --- coreapi/linphonecall.c | 49 ++++++++++++++++++++++++++++-------------- 1 file changed, 33 insertions(+), 16 deletions(-) diff --git a/coreapi/linphonecall.c b/coreapi/linphonecall.c index 4344cbae7..7626ac9f9 100644 --- a/coreapi/linphonecall.c +++ b/coreapi/linphonecall.c @@ -2682,24 +2682,41 @@ static void linphone_core_dtmf_received(LinphoneCall *call, int dtmf){ } static void parametrize_equalizer(LinphoneCore *lc, AudioStream *st){ - if (st->equalizer){ - MSFilter *f=st->equalizer; - int enabled=lp_config_get_int(lc->config,"sound","eq_active",0); - const char *gains=lp_config_get_string(lc->config,"sound","eq_gains",NULL); + const char *eq_active = lp_config_get_string(lc->config, "sound", "eq_active", NULL); + const char *eq_gains = lp_config_get_string(lc->config, "sound", "eq_gains", NULL); + + if(eq_active) ms_warning("'eq_active' linphonerc parameter has not effect anymore. Please use 'mic_eq_active' or 'spk_eq_active' instead"); + if(eq_gains) ms_warning("'eq_gains' linphonerc parameter has not effect anymore. Please use 'mic_eq_gains' or 'spk_eq_gains' instead"); + if (st->mic_equalizer){ + MSFilter *f=st->mic_equalizer; + int enabled=lp_config_get_int(lc->config,"sound","mic_eq_active",0); + const char *gains=lp_config_get_string(lc->config,"sound","mic_eq_gains",NULL); ms_filter_call_method(f,MS_EQUALIZER_SET_ACTIVE,&enabled); - if (enabled){ - if (gains){ - MSList *gains_list = ms_parse_equalizer_string(gains); - if (gains_list) { - MSList *it; - for(it=gains_list; it; it=it->next) { - MSEqualizerGain *g = (MSEqualizerGain *)it->data; - ms_message("Read equalizer gains: %f(~%f) --> %f",g->frequency,g->width,g->gain); - ms_filter_call_method(f,MS_EQUALIZER_SET_GAIN, g); - } - ms_list_free_with_data(gains_list, ms_free); - } + if (enabled && gains){ + MSList *gains_list = ms_parse_equalizer_string(gains); + MSList *it; + for(it=gains_list; it; it=it->next) { + MSEqualizerGain *g = (MSEqualizerGain *)it->data; + ms_message("Read microphone equalizer gains: %f(~%f) --> %f",g->frequency,g->width,g->gain); + ms_filter_call_method(f,MS_EQUALIZER_SET_GAIN, g); } + if(gains_list) ms_list_free_with_data(gains_list, ms_free); + } + } + if (st->spk_equalizer){ + MSFilter *f=st->spk_equalizer; + int enabled=lp_config_get_int(lc->config,"sound","spk_eq_active",0); + const char *gains=lp_config_get_string(lc->config,"sound","spk_eq_gains",NULL); + ms_filter_call_method(f,MS_EQUALIZER_SET_ACTIVE,&enabled); + if (enabled && gains){ + MSList *gains_list = ms_parse_equalizer_string(gains); + MSList *it; + for(it=gains_list; it; it=it->next) { + MSEqualizerGain *g = (MSEqualizerGain *)it->data; + ms_message("Read speaker equalizer gains: %f(~%f) --> %f",g->frequency,g->width,g->gain); + ms_filter_call_method(f,MS_EQUALIZER_SET_GAIN, g); + } + if(gains_list) ms_list_free_with_data(gains_list, ms_free); } } }