aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2009-10-21 15:21:30 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2009-10-21 15:21:30 +0000
commit3814937448c2cb7629d4c5560837705a892c3469 (patch)
tree0d2c119a4a3a55b93f6e9451795c3617ffaef5f9
parenta4b1c3dd6aa2a22125ed93953cdbd94e0c493df2 (diff)
Turn on DENOISE filter for all conference participants.
(Fixes SWP-238) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@225048 f38db490-d61c-443f-a65b-d21fe96a405b
-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;