From: Matthew Jordan Date: Thu, 28 Feb 2013 16:54:25 +0000 (+0000) Subject: Let channels joining a MeetMe conference opt out of the denoiser X-Git-Tag: certified/11.2-cert1-rc1~2^2~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=84b9247d09da9aa3b6d6cd58bc78a1459f109bc1;p=thirdparty%2Fasterisk.git 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/certified/branches/11.2@382231 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/UPGRADE.txt b/UPGRADE.txt index 974822a9ad..aa27442423 100644 --- a/UPGRADE.txt +++ b/UPGRADE.txt @@ -20,8 +20,14 @@ === =========================================================== -From 11.1 to 11.2: +From 11.3 to 11.4: +* Added the 'n' option to MeetMe to prevent application of the DENOISE function + to a channel joining a conference. Some channel drivers that vary the number + of audio samples in a voice frame will experience significant quality problems + if a denoiser is attached to the channel; this option gives them the ability + to remove the denoiser without having to unload func_speex. +From 11.1 to 11.2: * Asterisk would previously not output certain error messages when a remote console attempted to connect to Asterisk and no instance of Asterisk was running. This error message is displayed on stderr; as a result, some diff --git a/apps/app_meetme.c b/apps/app_meetme.c index 0806fe8fda..ed559ac2ae 100644 --- a/apps/app_meetme.c +++ b/apps/app_meetme.c @@ -139,6 +139,14 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") channel's currently set music class, or default. +