From a2f809c1273c3ed2f6a6945ac7368ecb6c0ecb21 Mon Sep 17 00:00:00 2001 From: Tilghman Lesher Date: Wed, 21 Oct 2009 15:21:30 +0000 Subject: [PATCH] Turn on DENOISE filter for all conference participants. (Fixes SWP-238) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225048 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- CHANGES | 3 +++ apps/app_meetme.c | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index 4b3b2c616c..6ce6590db8 100644 --- a/CHANGES +++ b/CHANGES @@ -78,6 +78,9 @@ Applications to spy on. * The ChanSpy application also now has the 'E' option, which spies on a single channel and exits when that channel hangs up. + * The MeetMe application now turns on the DENOISE() function by default, for + each participant. In our tests, this has significantly decreased background + noise (especially noisy data centers). Dialplan Functions ------------------ diff --git a/apps/app_meetme.c b/apps/app_meetme.c index b482217a5a..e66f0eac5e 100644 --- a/apps/app_meetme.c +++ b/apps/app_meetme.c @@ -2072,7 +2072,7 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, int c struct timeval now; struct ast_dsp *dsp = NULL; struct ast_app *agi_app; - char *agifile; + char *agifile, *mod_speex; const char *agifiledefault = "conf-background.agi", *tmpvar; char meetmesecs[30] = ""; char exitcontext[AST_MAX_CONTEXT] = ""; @@ -2406,6 +2406,12 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, int c goto outrun; } + /* Reduce background noise from each participant */ + if ((mod_speex = ast_module_helper("", "codec_speex.so", 0, 0, 0, 0)) || (mod_speex = ast_module_helper("", "codec_speex", 0, 0, 0, 0))) { + ast_free(mod_speex); + ast_func_write(chan, "DENOISE(rx)", "on"); + } + retrydahdi = (strcasecmp(chan->tech->type, "DAHDI") || (chan->audiohooks || chan->monitor) ? 1 : 0); user->dahdichannel = !retrydahdi;