diff options
-rw-r--r-- | CHANGES | 3 | ||||
-rw-r--r-- | apps/app_meetme.c | 8 |
2 files changed, 10 insertions, 1 deletions
@@ -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 b482217a5..e66f0eac5 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; |