aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGES3
-rw-r--r--apps/app_meetme.c8
2 files changed, 10 insertions, 1 deletions
diff --git a/CHANGES b/CHANGES
index 4b3b2c616..6ce6590db 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 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;