<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/1772/">https://reviewboard.asterisk.org/r/1772/</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.</div>
<div>By Mark Michelson.</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;">This is a second attempt to fix ASTERISK-16821.

The first attempt can be found at https://reviewboard.asterisk.org/r/1715 . In that change, I went down the road of using the sample rate change as a means of determining the path to take. However, this opened the door for translation loops to occur when codec_resample was not loaded. This is because paths like slin-&gt;gsm-&gt;slin-&gt;g.722 might get chosen because the *overall* sample rate change would be the same as slin-&gt;g.722. Since the slin-&gt;gsm path was checked first, the slin-&gt;g.722 path was not seen as &quot;better&quot; since the sample rate change was the same.

This new fix expands on the first one by acting even more like Asterisk 10. This means we take into account both the sample rate change as well as the quality of the translation. This way, the former loop cannot happen because the quality of the translation is seen as much worse than the simple slin-&gt;g.722 translation.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </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;">Made sure that translations directly from slin-&gt;slin16 and slin16-&gt;slin are favored over those that have an intermediate step. Ensured that there were no loops in translation paths.</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/ASTERISK-16821">ASTERISK-16821</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/main/translate.c <span style="color: grey">(356697)</span></li>

</ul>

<p><a href="https://reviewboard.asterisk.org/r/1772/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>




  </div>
 </body>
</html>