Let channels joining a MeetMe conference opt out of the denoiser
authorMatthew Jordan <mjordan@digium.com>
Thu, 28 Feb 2013 16:56:20 +0000 (16:56 +0000)
committerMatthew Jordan <mjordan@digium.com>
Thu, 28 Feb 2013 16:56:20 +0000 (16:56 +0000)
commit62f7acfac6e248ff0087e15a058ea575cd78e05c
tree7ab16091012adac5075dc1c6dc408202268e3679
parentde9068129364a9c1e8766d3d10f027054a091b4d
Let channels joining a MeetMe conference opt out of the denoiser

For some channel drivers, specifically those that have a varying rate in the
number of audio samples, the audio quality for a MeetMe conference can be
exceedingly poor. This is due to a unilateral application of the DENOISE
function in func_speex to channels joining the conference.

The denoiser function in the speex library is initialized with the number of
audio samples in each sample that will be provided to it. If the number of
audio samples changes, the denoiser has to be thrown away and re-initialized.

While this could be worked around by removing func_speex, that doesn't help
if you actually use the denoiser with other channels on the system.

This patches does the following:
 * Checks for the presence of func_speex as opposed to codec_speex when
   determining if the DENOISE function is present (which is where the function
   is actually implemented)
 * Adds an option to MeetMe 'n' that causes the denoiser to not be applied
   to a channel when it joins. This keeps the current behavior the default, but
   let's users disable the denoiser if it causes problems on their system.

Review: https://reviewboard.asterisk.org/r/2358

(closes issue AST-1062)
Reported by: Thomas Arimont
........

Merged revisions 382227 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 382230 from http://svn.asterisk.org/svn/asterisk/branches/11

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382232 65c4cc65-6c06-0410-ace0-fbb531ad65f3
CHANGES
apps/app_meetme.c