|
From: | 张贝芬 |
Subject: | [Linphone-developers] how to using speex lib to cancel echo in IP phone? |
Date: | Fri, 3 Sep 2010 19:16:40 +0800 (CST) |
Hi:
I am developing an IP Phone on ARM(samsung 6410; CPU:667MHZ), and use lib mediastreamer.2.6.0 for audio communication, but now the echo occur while talking. In the lib mediastreamer.2.6.0, I find a filter can do echo Cancellation by calling lib speex. I active it to filter the collected voice, but the telephone receiver can't hear any voice. Maybe I setup parameters wrong, the parameters are as follow:
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int ec_tail_len = 100;
int ec_delay = 20;
int ec_framesize = 0;
if (use_ec) {
stream->ec=ms_filter_new(MS_NEW_SPEEX_EC_ID);
ms_filter_call_method(stream->ec,MS_FILTER_NEW_SET_SAMPLE_RATE,&pt->clock_rate);
//inec_tail_len = 100;
//ec_delay = ;
if (ec_tail_len!=0)
ms_filter_call_method(stream->ec,MS_ECHO_CANCELLER_SET_TAIL_LENGTH,&ec_tail_len);
if (ec_delay!=0)
ms_filter_call_method(stream->ec,MS_ECHO_CANCELLER_SET_DELAY,&ec_delay);
if (ec_framesize!=0)
ms_filter_call_method(stream->ec,MS_ECHO_CANCELLER_SET_FRAMESIZE,&ec_framesize);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Expecting anybody can give me some advices to cancel the hateful echo.
Best regards!
[Prev in Thread] | Current Thread | [Next in Thread] |