<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/3665/">https://reviewboard.asterisk.org/r/3665/</a>
     </td>
    </tr>
   </table>
   <br />










<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On June 23rd, 2014, 3:45 p.m. CDT, <b>Corey Farrell</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  



<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="https://reviewboard.asterisk.org/r/3665/diff/4-5/?file=60343#file60343line1730" style="color: black; font-weight: bold; text-decoration: underline;">/team/group/media_formats-reviewed/main/rtp_engine.c</a>
    <span style="font-weight: normal;">

     (Diff revisions 4 - 5)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static void rtcp_message_payload_dtor(void *obj)</pre></td>
   <td colspan="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>

  </tr>
 </tbody>



 
 

 <tbody>

  <tr>
    <th bgcolor="#f0f0f0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">1710</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="n">mime_types_len</span> <span class="o">=</span> <span class="n">y</span><span class="p">;</span></pre></td>
    <th bgcolor="#f0f0f0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1728</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="n">mime_types_len</span> <span class="o">=</span> <span class="n">y</span><span class="p">;</span></pre></td>
  </tr>

 </tbody>

</table>

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I think we need to zero out the records starting with ast_rtp_mime_types[y + 1] and ending at mime_types_len.  Otherwise if we add a mime type after removing one it not start out zero'ed.</pre>
 </blockquote>





</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I like your idea of just clearing out the mime type before adding it. I'll make the change there.</pre>
<br />




<p>- Matt</p>


<br />
<p>On June 23rd, 2014, 3:34 p.m. CDT, Matt Jordan wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://reviewboard.asterisk.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Asterisk Developers, Corey Farrell and Joshua Colp.</div>
<div>By Matt Jordan.</div>


<p style="color: grey;"><i>Updated June 23, 2014, 3:34 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
Asterisk
</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 patch includes all of Corey's fine work on r3625, more that he did in channel/rtp_engine/dsp, and enough work in format_cache/elsewhere to get Asterisk's core to compile, along with some improvements in translate.

With this patch, Asterisk (with very little loaded) should run and generally display the codec path translations. I'm still not convinced we're computing computational complexity correctly for everything - particularly translations provided by codec_resample - but the table produced matches Asterisk 11/12, so that's a good step.

Major changes made in this patch:
* Removed ast_best_codec, as it was a farce [1]. All channel drivers will now use the first codec listed in their configured set of codecs as their preferred codec.
* Formats now store their name, as it can differ from the codec. This now has the accessor ast_format_get_name; codecs get the new ast_format_get_codec_name. Similarly, formats can now be constructed either entirely from the codec, or from a codec + name.
* Updated the format_cache with the expected short-hand pointers to the cached formats.
* channel.c was updated. That's large. Note that this was done mostly by Corey Farrell
* Codecs can do an explicit name match without their sample rate. This is done to make it a bit easier for CLI commands to query codecs with singular but odd sample rates (looking at you Opus)
* CLI commands in translate.c should now mostly work. translate.c will now correctly register translation paths - previously, it used the passed in codecs, which did not contain the codec->id field.




[1] http://lists.digium.com/pipermail/asterisk-dev/2014-June/068133.html</pre>
  </td>
 </tr>
</table>



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>/team/group/media_formats-reviewed/tests/test_format_cache.c <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/res/res_pjsip_sdp_rtp.c <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/main/translate.c <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/main/slinfactory.c <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/main/rtp_engine.c <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/main/frame.c <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/main/format_cap.c <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/main/format_cache.c <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/main/format.c <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/main/dsp.c <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/main/core_unreal.c <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/main/codec_builtin.c <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/main/codec.c <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/main/channel.c <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/main/asterisk.c <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/include/asterisk/rtp_engine.h <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/include/asterisk/format_cache.h <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/include/asterisk/format.h <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/include/asterisk/channel.h <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/include/asterisk/astobj2.h <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/include/asterisk/_private.h <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/codecs/ex_alaw.h <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/channels/chan_unistim.c <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/channels/chan_skinny.c <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/channels/chan_sip.c <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/channels/chan_phone.c <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/channels/chan_multicast_rtp.c <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/channels/chan_misdn.c <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/channels/chan_mgcp.c <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/channels/chan_jingle.c <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/channels/chan_iax2.c <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/channels/chan_h323.c <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/channels/chan_gtalk.c <span style="color: grey">(417074)</span></li>

 <li>/team/group/media_formats-reviewed/addons/chan_ooh323.c <span style="color: grey">(417074)</span></li>

</ul>

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







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








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