<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://reviewboard.asterisk.org/r/2358/">https://reviewboard.asterisk.org/r/2358/</a>
</td>
</tr>
</table>
<br />
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://reviewboard.asterisk.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for Asterisk Developers and Thomas Arimont.</div>
<div>By Matt Jordan.</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">When migrating to Asterisk 1.8, it was found that audio quality for mISDN channels joining a MeetMe conference was exceedingly poor. The audio would have silence interrupt the audio, or would have a strange metallic sound. This continued throughout the lifetime of the channel in the conference. When looking at what changed in Asterisk 1.8, the issue reporter discovered that we now unilaterally applied 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. As it turned out, the mISDN channel was getting a variable number of audio samples from the driver, and each time the number of samples changed, the denoiser had to be re-initialized. This caused the audio gaps for the channels in the conference.
While this could be worked around in 1.8 by removing codec_speex, that doesn't help if you actually use codec_speex for other channels, or need to apply the denoiser to 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.
Note that the denoiser is optional in ConfBridge already, so this isn't a problem in 10+ (where MeetMe is no longer the preferred option for conferencing)</pre>
</td>
</tr>
</table>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>
<a href="https://issues.asterisk.org/jira/browse/AST-1062">AST-1062</a>
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>/branches/1.8/UPGRADE.txt <span style="color: grey">(382084)</span></li>
<li>/branches/1.8/apps/app_meetme.c <span style="color: grey">(382084)</span></li>
</ul>
<p><a href="https://reviewboard.asterisk.org/r/2358/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>