diff options
author | Chia-chi Yeh <chiachi@android.com> | 2010-10-05 01:17:13 +0800 |
---|---|---|
committer | Chia-chi Yeh <chiachi@android.com> | 2010-10-05 02:47:00 +0800 |
commit | a8a10096a1501e901676632d78f699cdebe9f4f6 (patch) | |
tree | e55bd543267cc61ebd84d41ab6b880c964fcf197 /voip/jni/rtp/AudioGroup.cpp | |
parent | 624380a14def6c2acdb473e09c36139acbcefbf9 (diff) | |
download | frameworks_base-a8a10096a1501e901676632d78f699cdebe9f4f6.zip frameworks_base-a8a10096a1501e901676632d78f699cdebe9f4f6.tar.gz frameworks_base-a8a10096a1501e901676632d78f699cdebe9f4f6.tar.bz2 |
RTP: Add a baseline echo suppressor.
Change-Id: I832f1f572f141fd928afe671b12d0b59f2a8e0b1
Diffstat (limited to 'voip/jni/rtp/AudioGroup.cpp')
-rw-r--r-- | voip/jni/rtp/AudioGroup.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/voip/jni/rtp/AudioGroup.cpp b/voip/jni/rtp/AudioGroup.cpp index 5214518..9da560a 100644 --- a/voip/jni/rtp/AudioGroup.cpp +++ b/voip/jni/rtp/AudioGroup.cpp @@ -44,6 +44,7 @@ #include "JNIHelp.h" #include "AudioCodec.h" +#include "EchoSuppressor.h" extern int parse(JNIEnv *env, jstring jAddress, int port, sockaddr_storage *ss); @@ -766,7 +767,9 @@ bool AudioGroup::DeviceThread::threadLoop() } LOGD("latency: output %d, input %d", track.latency(), record.latency()); - // TODO: initialize echo canceler here. + // Initialize echo canceler. + EchoSuppressor echo(sampleRate, sampleCount, sampleCount * 2 + + (track.latency() + record.latency()) * sampleRate / 1000); // Give device socket a reasonable buffer size. setsockopt(deviceSocket, SOL_SOCKET, SO_RCVBUF, &output, sizeof(output)); @@ -839,7 +842,7 @@ bool AudioGroup::DeviceThread::threadLoop() if (mode == NORMAL) { send(deviceSocket, input, sizeof(input), MSG_DONTWAIT); } else { - // TODO: Echo canceller runs here. + echo.run(output, input); send(deviceSocket, input, sizeof(input), MSG_DONTWAIT); } } |