<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/1083/">https://reviewboard.asterisk.org/r/1083/</a>
</td>
</tr>
</table>
<br />
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Ugh, I thought I was finishing page 4. I'm only on page 3. This is going to take forever. You are a superhero for completing this patch.</pre>
<br />
<div>
<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/1083/diff/3/?file=15322#file15322line1046" style="color: black; font-weight: bold; text-decoration: underline;">/channels/chan_gtalk.c</a>
<span style="font-weight: normal;">
(Diff revision 3)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static struct gtalk_pvt *gtalk_alloc(struct gtalk *client, const char *us, const char *them, const char *sid)</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#f0f0f0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">1022</font></th>
<td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="n">memcpy</span><span class="p">(</span><span class="o">&</span><span class="n">tmp</span><span class="o">-></span><span class="n">prefs</span><span class="p">,</span> <span class="o">&</span><span class="n">client</span><span class="o">-></span><span class="n">prefs</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="k">struct</span> <span class="n">ast_codec_pref</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">1041</font></th>
<td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="n">memcpy</span><span class="p">(</span><span class="o">&</span><span class="n">tmp</span><span class="o">-></span><span class="n">prefs</span><span class="p">,</span> <span class="o">&</span><span class="n">client</span><span class="o">-></span><span class="n">prefs</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="k">struct</span> <span class="n">ast_codec_pref</span><span class="p">));</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">With all of the other format API having copy functions, do you think that it would be more consistent to hide this behind an API in case the underlying structure changes to include a pointer for some reason?</pre>
</div>
<br />
<div>
<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/1083/diff/3/?file=15322#file15322line2165" style="color: black; font-weight: bold; text-decoration: underline;">/channels/chan_gtalk.c</a>
<span style="font-weight: normal;">
(Diff revision 3)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static int gtalk_load_config(void)</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">2158</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="n">memset</span><span class="p">(</span><span class="o">&</span><span class="n">prefs</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="n">prefs</span><span class="p">));</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Like the copy comment above, should we hide this behind an API call? It looks like format_pref.h actually declares and documents ast_format_pref_init, but it isn't actually defined anywhere. Pretty easy to find most of the mem(set|cpy) instances with `grep -nIr "mem\w\{3\}\s*(.*pref" *|grep -v svn`</pre>
</div>
<br />
<div>
<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/1083/diff/3/?file=15323#file15323line784" style="color: black; font-weight: bold; text-decoration: underline;">/channels/chan_h323.c</a>
<span style="font-weight: normal;">
(Diff revision 3)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static struct ast_frame *oh323_rtp_read(struct oh323_pvt *pvt)</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">775</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                                <span class="n">pvt</span><span class="o">-></span><span class="n">owner</span><span class="o">-></span><span class="n">nativeformats</span> <span class="o">=</span> <span class="n">f</span><span class="o">-></span><span class="n">subclass</span><span class="p">.</span><span class="n">codec</span><span class="p">;</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">783</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                                <span class="n">ast_format_cap_remove_all</span><span class="p">(</span><span class="n">pvt</span><span class="o">-></span><span class="n">owner</span><span class="o">-></span><span class="n">nativeformats</span><span class="p">);</span></pre></td>
</tr>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">776</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                                <span class="n">pvt</span><span class="o">-></span><span class="n">nativeformats</span><span class="hl"> </span><span class="o"><span class="hl">=</span></span><span class="hl"> </span><span class="n">f</span><span class="o">-></span><span class="n">subclass</span><span class="p">.</span><span class="n"><span class="hl">codec</span></span><span class="p">;</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">784</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                                <span class="n"><span class="hl">ast_format_cap_add</span></span><span class="p"><span class="hl">(</span></span><span class="n">pvt</span><span class="o"><span class="hl">-></span></span><span class="n"><span class="hl">owner</span></span><span class="o">-></span><span class="n">nativeformats</span><span class="p"><span class="hl">,</span></span><span class="hl"> </span><span class="o"><span class="hl">&</span></span><span class="n">f</span><span class="o">-></span><span class="n">subclass</span><span class="p">.</span><span class="n"><span class="hl">format</span></span><span class="p"><span class="hl">)</span>;</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I think there are about 23 calls to ast_format_cap_remove_all() followed immediately by a call to ast_format_cap_add() in various parts of the code. It might be useful to add a ast_format_cap_set (set_format? replace?) for what seems like a pretty common case.</pre>
</div>
<br />
<div>
<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/1083/diff/3/?file=15323#file15323line1051" style="color: black; font-weight: bold; text-decoration: underline;">/channels/chan_h323.c</a>
<span style="font-weight: normal;">
(Diff revision 3)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static struct ast_channel *__oh323_new(struct oh323_pvt *pvt, int state, const char *host, const char *linkedid)</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">1038</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="n">fmt</span> <span class="o">=</span> <span class="n">ast_best_codec</span><span class="p">(</span><span class="n">ch</span><span class="o">-></span><span class="n">nativeformats</span><span class="p">);</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1050</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="n">ast_codec_choose</span><span class="p">(</span><span class="o">&</span><span class="n">pvt</span><span class="o">-></span><span class="n">options</span><span class="p">.</span><span class="n">prefs</span><span class="p">,</span> <span class="n">ch</span><span class="o">-></span><span class="n">nativeformats</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="o">&</span><span class="n">tmpfmt</span><span class="p">)</span><span class="cm">/* | (pvt->jointcapability & AST_FORMAT_VIDEO_MASK)*/</span><span class="p">;</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">The commented out code would no longer work. :-p</pre>
</div>
<br />
<div>
<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/1083/diff/3/?file=15323#file15323line2058" style="color: black; font-weight: bold; text-decoration: underline;">/channels/chan_h323.c</a>
<span style="font-weight: normal;">
(Diff revision 3)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static void setup_rtp_connection(unsigned call_reference, const char *remoteIp, int remotePort, const char *token, int pt)</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">2023</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="k">if</span> <span class="p">(</span><span class="n">h323debug</span><span class="p">)</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">2054</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="k">if</span> <span class="p">(</span><span class="n">rtptype</span><span class="p">.</span><span class="n">asterisk_format</span><span class="p">)</span> <span class="p">{</span></pre></td>
</tr>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">2024</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                        <span class="n">ast_debug</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="s">"Native format is set to %llu from %d by RTP payload type %d</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span> <span class="p">(</span><span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span><span class="p">)</span> <span class="n">rtptype</span><span class="p">.</span><span class="n">code</span><span class="p">,</span> <span class="n">pvt</span><span class="o">-></span><span class="n">nativeformats</span><span class="p">,</span> <span class="n">pt</span><span class="p">);</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">2055</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                        <span class="k">if</span> <span class="p">(</span><span class="n">pvt</span><span class="o">-></span><span class="n">nativeformats</span> <span class="o">!=</span> <span class="n">ast_format_to_old_bitfield</span><span class="p">(</span><span class="o">&</span><span class="n">rtptype</span><span class="p">.</span><span class="n">format</span><span class="p">))</span> <span class="p">{</span></pre></td>
</tr>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">2025</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="k">if</span> <span class="p">(</span><span class="n">pvt</span><span class="o">-></span><span class="n">nativeformats</span> <span class="o">!=</span> <span class="n">rtptype</span><span class="p">.</span><span class="n">code</span><span class="p">)</span> <span class="p">{</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">2056</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                                <span class="n">pvt</span><span class="o">-></span><span class="n">nativeformats</span> <span class="o">=</span> <span class="n">ast_format_to_old_bitfield</span><span class="p">(</span><span class="o">&</span><span class="n">rtptype</span><span class="p">.</span><span class="n">format</span><span class="p">);</span></pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#ebb1ba" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">2026</font></th>
<td bgcolor="#ffc5ce" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                        <span class="n">pvt</span><span class="o">-></span><span class="n">nativeformats</span> <span class="o">=</span> <span class="n">rtptype</span><span class="p">.</span><span class="n">code</span><span class="p">;</span></pre></td>
<th bgcolor="#ebb1ba" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#ffc5ce" width="50%"><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">2027</font></th>
<td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                        <span class="n">nativeformats_changed</span> <span class="o">=</span> <span class="mi">1</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">2057</font></th>
<td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                                <span class="n">nativeformats_changed</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span></pre></td>
</tr>
<tr>
<th bgcolor="#f0f0f0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">2028</font></th>
<td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <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">2058</font></th>
<td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                        <span class="p">}</span></pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">2059</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="p">}</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">the if(a) { if (b) {}} could be simplified to if (a && b). Did you mean to nix the debug statement as well?</pre>
</div>
<br />
<div>
<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/1083/diff/3/?file=15324#file15324line1708" style="color: black; font-weight: bold; text-decoration: underline;">/channels/chan_iax2.c</a>
<span style="font-weight: normal;">
(Diff revision 3)
</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; "></pre></td>
<td colspan="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static int iax2_parse_allow_disallow(struct ast_codec_pref *pref, iax2_format *formats, const char *list, int allowing)</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1707</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="k">return</span> <span class="n">res</span><span class="p">;</span></pre></td>
</tr>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1708</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">newline
return
}
instead of
return
newline
}</pre>
</div>
<br />
<div>
<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/1083/diff/3/?file=15325#file15325line1220" style="color: black; font-weight: bold; text-decoration: underline;">/channels/chan_jingle.c</a>
<span style="font-weight: normal;">
(Diff revision 3)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static struct ast_frame *jingle_rtp_read(struct ast_channel *ast, struct jingle_pvt *p)</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">1190</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                                <span class="n">p</span><span class="o">-></span><span class="n">owner</span><span class="o">-></span><span class="n">nativeformats</span><span class="hl"> </span><span class="o"><span class="hl">=</span></span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1218</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                                <span class="n"><span class="hl">ast_format_cap_remove_all</span></span><span class="p"><span class="hl">(</span></span><span class="n">p</span><span class="o">-></span><span class="n">owner</span><span class="o">-></span><span class="n">nativeformats</span><span class="p"><span class="hl">);</span></span></pre></td>
</tr>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">1191</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                                        <span class="p">(</span><span class="n">p</span><span class="o">-></span><span class="n">owner</span><span class="o">-></span><span class="n">nativeformats</span><span class="hl"> </span><span class="o"><span class="hl">&</span></span><span class="hl"> </span><span class="n"><span class="hl">AST_FORMAT_VIDEO_MASK</span></span><span class="p"><span class="hl">)</span></span><span class="hl"> </span><span class="o"><span class="hl">|</span></span><span class="hl"> </span><span class="n">f</span><span class="o">-></span><span class="n">subclass</span><span class="p">.</span><span class="n"><span class="hl">codec</span></span><span class="p">;</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1219</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                                <span class="n"><span class="hl">ast_format_cap_add</span></span><span class="p">(</span><span class="n">p</span><span class="o">-></span><span class="n">owner</span><span class="o">-></span><span class="n">nativeformats</span><span class="p"><span class="hl">,</span></span><span class="hl"> </span><span class="o"><span class="hl">&</span></span><span class="n">f</span><span class="o">-></span><span class="n">subclass</span><span class="p">.</span><span class="n"><span class="hl">format</span></span><span class="p"><span class="hl">)</span>;</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I'm not sure about this one. It looks like the original code specifically tries to keep any video nativeformats, whereas the new version removes all nativeformats and replaces them with the format of the frame. Is this intentional?</pre>
</div>
<br />
<div>
<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/1083/diff/3/?file=15326#file15326line1053" style="color: black; font-weight: bold; text-decoration: underline;">/channels/chan_local.c</a>
<span style="font-weight: normal;">
(Diff revision 3)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static struct ast_channel *local_new(struct local_pvt *p, int state, const char *linkedid)</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">1048</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="n">tmp</span><span class="o">-></span><span class="n">nativeformats</span><span class="hl"> </span><span class="o"><span class="hl">=</span></span> <span class="n">p</span><span class="o">-></span><span class="n">req<span class="hl">format</span></span><span class="p">;</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1049</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="hl">        </span><span class="n"><span class="hl">ast_format_cap_append</span></span><span class="p"><span class="hl">(</span></span><span class="n">tmp</span><span class="o">-></span><span class="n">nativeformats</span><span class="p"><span class="hl">,</span></span> <span class="n">p</span><span class="o">-></span><span class="n">req<span class="hl">cap</span></span><span class="p"><span class="hl">)</span>;</span></pre></td>
</tr>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">1049</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="n">tmp2</span><span class="o">-></span><span class="n">nativeformats</span><span class="hl"> </span><span class="o"><span class="hl">=</span></span> <span class="n">p</span><span class="o">-></span><span class="n">req<span class="hl">format</span></span><span class="p">;</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1050</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="hl">        </span><span class="n"><span class="hl">ast_format_cap_append</span></span><span class="p"><span class="hl">(</span></span><span class="n">tmp2</span><span class="o">-></span><span class="n">nativeformats</span><span class="p"><span class="hl">,</span></span> <span class="n">p</span><span class="o">-></span><span class="n">req<span class="hl">cap</span></span><span class="p"><span class="hl">)</span>;</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">The original code looks like it replaces nativeformats completely while the new code uses an append? Intentional?</pre>
</div>
<br />
<div>
<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/1083/diff/3/?file=15327#file15327line2244" style="color: black; font-weight: bold; text-decoration: underline;">/channels/chan_mgcp.c</a>
<span style="font-weight: normal;">
(Diff revision 3)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static int add_sdp(struct mgcp_request *resp, struct mgcp_subchannel *sub, struct ast_rtp_instance *rtp)</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">2242</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">extra newline</pre>
</div>
<br />
<div>
<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/1083/diff/3/?file=15331#file15331line803" style="color: black; font-weight: bold; text-decoration: underline;">/channels/chan_oss.c</a>
<span style="font-weight: normal;">
(Diff revision 3)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static struct ast_channel *oss_new(struct chan_oss_pvt *o, char *ext, char *ctx, int state, const char *linkedid)</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">799</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="k">if</span> <span class="p">(</span><span class="n">state</span> <span class="o">==</span> <span class="n">AST_STATE_RINGING</span><span class="p">)</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">802</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="c1">//if (state == AST_STATE_RINGING) /* </span><span class="cs">TODO</span><span class="c1"> </span><span class="cs">XXX</span><span class="c1"> CONSOLE VIDEO IS DISABLED UNTIL IT GETS A MAINTAINER */</span></pre></td>
</tr>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">800</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="n">c</span><span class="o">-></span><span class="n">nativeformats</span> <span class="o">|=</span> <span class="n">console_video_formats</span><span class="p">;</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">803</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="hl">        </span><span class="c1"><span class="hl">//</span>        c->nativeformats |= console_video_formats;</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">C++-style comments.</pre>
</div>
<br />
<div>
<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/1083/diff/3/?file=15332#file15332line213" style="color: black; font-weight: bold; text-decoration: underline;">/channels/chan_phone.c</a>
<span style="font-weight: normal;">
(Diff revision 3)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static int phone_indicate(struct ast_channel *chan, int condition, const void *data, size_t datalen)</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">213</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                        <span class="n">p</span><span class="o">-></span><span class="n">lastformat</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">212</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                        <span class="n">ast_format_clear</span><span class="p">(</span><span class="o">&</span><span class="n">p</span><span class="o">-></span><span class="n">lastformat</span><span class="p">);</span></pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#f0f0f0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">214</font></th>
<td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                        <span class="n">res</span> <span class="o">=</span> <span class="mi">0</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">213</font></th>
<td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                        <span class="n">res</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span></pre></td>
</tr>
<tr>
<th bgcolor="#f0f0f0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">215</font></th>
<td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                        <span class="k">break</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">214</font></th>
<td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                        <span class="k">break</span><span class="p">;</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">weird spacing (though so was the original)</pre>
</div>
<br />
<div>
<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/1083/diff/3/?file=15332#file15332line1389" style="color: black; font-weight: bold; text-decoration: underline;">/channels/chan_phone.c</a>
<span style="font-weight: normal;">
(Diff revision 3)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static int load_module(void)</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1378</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="p">(</span><span class="n">prefcap</span> <span class="o">=</span> <span class="n">ast_format_cap_alloc</span><span class="p">()))</span> <span class="p">{</span></pre></td>
</tr>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1379</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="k">return</span> <span class="n">AST_MODULE_LOAD_DECLINE</span><span class="p">;</span></pre></td>
</tr>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1380</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="p">}</span></pre></td>
</tr>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1381</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="n">ast_format_cap_copy2</span><span class="p">(</span><span class="n">prefcap</span><span class="p">,</span> <span class="n">phone_tech</span><span class="p">.</span><span class="n">capabilities</span><span class="p">);</span></pre></td>
</tr>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1382</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="p">(</span><span class="n">phone_tech_fxs</span><span class="p">.</span><span class="n">capabilities</span> <span class="o">=</span> <span class="n">ast_format_cap_alloc</span><span class="p">()))</span> <span class="p">{</span></pre></td>
</tr>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1383</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="k">return</span> <span class="n">AST_MODULE_LOAD_DECLINE</span><span class="p">;</span></pre></td>
</tr>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1384</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="p">}</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">If we fail, here, we don't destroy the prior capabilities allocs.</pre>
</div>
<br />
<div>
<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/1083/diff/3/?file=15333#file15333line6034" style="color: black; font-weight: bold; text-decoration: underline;">/channels/chan_sip.c</a>
<span style="font-weight: normal;">
(Diff revision 3)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static int sip_hangup(struct ast_channel *ast)</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">6027</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="n">format_t</span> <span class="n">fmt</span><span class="p">;</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">6033</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="k">struct</span> <span class="n">ast_format</span> <span class="n">fmt</span> <span class="o">=</span> <span class="p">{</span></pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">6034</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="p">.</span><span class="n">id</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span></pre></td>
</tr>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">6035</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="p">};</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Personally, I tend to like initializing like this. You tend to use ast_format_clear() everywhere else I've seen so far, though.</pre>
</div>
<br />
<div>
<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/1083/diff/3/?file=15333#file15333line16824" style="color: black; font-weight: bold; text-decoration: underline;">/channels/chan_sip.c</a>
<span style="font-weight: normal;">
(Diff revision 3)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static char *_sip_show_peer(int type, int fd, struct mansession *s, const struct message *m, int argc, const char *argv[])</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">16797</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                        <span class="k">if</span> <span class="p">(</span><span class="n">x</span> <span class="o"><</span> <span class="mi">63</span> <span class="o">&&</span> <span class="n">ast_codec_pref_index</span><span class="p">(</span><span class="n">pref</span><span class="p">,</span> <span class="n">x</span><span class="o">+</span><span class="mi">1</span><span class="p">,</span> <span class="o">&</span><span class="n">codec</span><span class="p">))</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Is a hardcoded 63 here what we really want?</pre>
</div>
<br />
<div>
<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/1083/diff/3/?file=15334#file15334line2291" style="color: black; font-weight: bold; text-decoration: underline;">/channels/chan_skinny.c</a>
<span style="font-weight: normal;">
(Diff revision 3)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static void transmit_callinfo(struct skinny_device *d, const char *fromname, const char *fromnum, const char *toname, const char *tonum, int instance, int callid, int calltype)</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">2286</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="n">ast_best_codec</span><span class="p">(</span><span class="n">l</span><span class="o">-></span><span class="n">cap</span><span class="p">,</span> <span class="o">&</span><span class="n">tmpfmt</span><span class="p">);</span></pre></td>
</tr>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">2287</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="n">fmt</span> <span class="o">=</span> <span class="n">ast_codec_pref_getsize</span><span class="p">(</span><span class="o">&</span><span class="n">l</span><span class="o">-></span><span class="n">prefs</span><span class="p">,</span> <span class="o">&</span><span class="n">tmpfmt</span><span class="p">);</span></pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#f0f0f0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">2240</font></th>
<td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#f0f0f0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">2288</font></th>
<td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#ebb1ba" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">2241</font></th>
<td bgcolor="#ffc5ce" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="n">fmt</span> <span class="o">=</span> <span class="n">ast_codec_pref_getsize</span><span class="p">(</span><span class="o">&</span><span class="n">l</span><span class="o">-></span><span class="n">prefs</span><span class="p">,</span> <span class="n">ast_best_codec</span><span class="p">(</span><span class="n">l</span><span class="o">-></span><span class="n">capability</span><span class="p">));</span></pre></td>
<th bgcolor="#ebb1ba" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#ffc5ce" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
</tr>
<tr>
<th bgcolor="#ebb1ba" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">2242</font></th>
<td bgcolor="#ffc5ce" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#ebb1ba" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#ffc5ce" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">ast_best_codec returns the pointer, so it could have stayed all in one line here and elsewhere in the file. I only point it out since you usually use ast_format_set that way.</pre>
</div>
<br />
<div>
<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/1083/diff/3/?file=15334#file15334line4685" style="color: black; font-weight: bold; text-decoration: underline;">/channels/chan_skinny.c</a>
<span style="font-weight: normal;">
(Diff revision 3)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static int skinny_indicate(struct ast_channel *ast, int ind, const void *data, size_t datalen)</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">4626</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">tmp</span><span class="o">-></span><span class="n">nativeformats</span><span class="p">)</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">4678</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">tmp</span><span class="o">-></span><span class="n">nativeformats</span><span class="p">)</span><span class="hl"> </span><span class="p"><span class="hl">{</span></span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I think this should be if (!ast_format_cap_is_empty(tmp->nativeformats)</pre>
</div>
<br />
<div>
<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/1083/diff/3/?file=15335#file15335line1488" style="color: black; font-weight: bold; text-decoration: underline;">/channels/chan_unistim.c</a>
<span style="font-weight: normal;">
(Diff revision 3)
</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; "></pre></td>
<td colspan="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static void unistim_line_copy(struct unistim_line *src, struct unistim_line *dst)</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1486</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="k">static</span> <span class="kt">void</span> <span class="nf">unistim_line_copy</span><span class="p">(</span><span class="k">struct</span> <span class="n">unistim_line</span> <span class="o">*</span><span class="n">src</span><span class="p">,</span> <span class="k">struct</span> <span class="n">unistim_line</span> <span class="o">*</span><span class="n">dst</span><span class="p">)</span></pre></td>
</tr>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1487</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="p">{</span></pre></td>
</tr>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1488</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="k">struct</span> <span class="n">ast_format_cap</span> <span class="o">*</span><span class="n">tmp</span> <span class="o">=</span> <span class="n">src</span><span class="o">-></span><span class="n">cap</span><span class="p">;</span></pre></td>
</tr>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1489</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="n">memcpy</span><span class="p">(</span><span class="n">src</span><span class="p">,</span> <span class="n">dst</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="o">*</span><span class="n">src</span><span class="p">));</span></pre></td>
</tr>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1490</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="n">src</span><span class="o">-></span><span class="n">cap</span> <span class="o">=</span> <span class="n">tmp</span><span class="p">;</span></pre></td>
</tr>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1491</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="p">}</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">A few things here. unistim_line_copy goes against the normal copy function argument order of (dst, src). This can sometimes lead to confusion/bugs. For instance, the memcpy in this function looks backward. I'm having a little trouble figuring out what should be going on. If the memcpy is backward, then the tmp=src->cap, src->cap = tmp is redundant. In any case, I wonder if the cap should be dup'd instead of just copying over the link.</pre>
</div>
<br />
<div>
<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/1083/diff/3/?file=15335#file15335line1603" style="color: black; font-weight: bold; text-decoration: underline;">/channels/chan_unistim.c</a>
<span style="font-weight: normal;">
(Diff revision 3)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static void rcv_mac_addr(struct unistimsession *pte, const unsigned char *buf)</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#f0f0f0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">1570</font></th>
<td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                                                <span class="cm">/* Ok, now updating some fields */</span></pre></td>
<th bgcolor="#f0f0f0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1601</font></th>
<td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                                                <span class="cm">/* Ok, now updating some fields */</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">It seems like a lot of the code here could actually be part of unistim_line_copy, since just wrapping the memcpy and trying to handle the cap structure might not really warrant having the function if we are going to do a lot of other fixup stuff later.</pre>
</div>
<br />
<div>
<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/1083/diff/3/?file=15335#file15335line5676" style="color: black; font-weight: bold; text-decoration: underline;">/channels/chan_unistim.c</a>
<span style="font-weight: normal;">
(Diff revision 3)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static struct ast_rtp_glue unistim_rtp_glue = {</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">5666</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="k">struct</span> <span class="n">ast_format</span> <span class="n">tmpfmt</span><span class="p">;</span></pre></td>
</tr>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">5667</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="p">(</span><span class="n">global_cap</span> <span class="o">=</span> <span class="n">ast_format_cap_alloc</span><span class="p">()))</span> <span class="p">{</span></pre></td>
</tr>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">5668</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="k">goto</span> <span class="n">buff_failed</span><span class="p">;</span></pre></td>
</tr>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">5669</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="p">}</span></pre></td>
</tr>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">5670</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="p">(</span><span class="n">unistim_tech</span><span class="p">.</span><span class="n">capabilities</span> <span class="o">=</span> <span class="n">ast_format_cap_alloc</span><span class="p">()))</span> <span class="p">{</span></pre></td>
</tr>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">5671</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="k">goto</span> <span class="n">buff_failed</span><span class="p">;</span></pre></td>
</tr>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">5672</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="p">}</span></pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#f0f0f0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">5638</font></th>
<td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#f0f0f0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">5673</font></th>
<td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">5674</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="n">ast_format_cap_add</span><span class="p">(</span><span class="n">global_cap</span><span class="p">,</span> <span class="n">ast_format_set</span><span class="p">(</span><span class="o">&</span><span class="n">tmpfmt</span><span class="p">,</span> <span class="n">AST_FORMAT_ULAW</span><span class="p">,</span> <span class="mi">0</span><span class="p">));</span></pre></td>
</tr>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">5675</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="n">ast_format_cap_add</span><span class="p">(</span><span class="n">global_cap</span><span class="p">,</span> <span class="n">ast_format_set</span><span class="p">(</span><span class="o">&</span><span class="n">tmpfmt</span><span class="p">,</span> <span class="n">AST_FORMAT_ALAW</span><span class="p">,</span> <span class="mi">0</span><span class="p">));</span></pre></td>
</tr>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">5676</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="n">ast_format_cap_copy2</span><span class="p">(</span><span class="n">unistim_tech</span><span class="p">.</span><span class="n">capabilities</span><span class="p">,</span> <span class="n">global_cap</span><span class="p">);</span></pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#f0f0f0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">5639</font></th>
<td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="p">(</span><span class="n">buff</span> <span class="o">=</span> <span class="n">ast_malloc</span><span class="p">(</span><span class="n">SIZE_PAGE</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">5677</font></th>
<td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="p">(</span><span class="n">buff</span> <span class="o">=</span> <span class="n">ast_malloc</span><span class="p">(</span><span class="n">SIZE_PAGE</span><span class="p">)))</span></pre></td>
</tr>
<tr>
<th bgcolor="#f0f0f0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">5640</font></th>
<td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="k">goto</span> <span class="n">buff_failed</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">5678</font></th>
<td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="k">goto</span> <span class="n">buff_failed</span><span class="p">;</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">buff_failed: doesn't free the caps.</pre>
</div>
<br />
<div>
<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/1083/diff/3/?file=15337#file15337line349" style="color: black; font-weight: bold; text-decoration: underline;">/channels/chan_vpb.cc</a>
<span style="font-weight: normal;">
(Diff revision 3)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static enum ast_bridge_result ast_vpb_bridge(struct ast_channel *c0, struct ast_channel *c1, int flags, struct ast_frame **fo, struct ast_channel **rc, int timeoutms);</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">349</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="nl">capabilities:</span> <span class="n"><span class="hl">AST_FORMAT_SLINEAR</span></span><span class="p">,</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">347</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="nl">capabilities:</span> <span class="nb"><span class="hl">NULL</span></span><span class="p">,</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Everywhere else you have just deleted the entry.</pre>
</div>
<br />
<div>
<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/1083/diff/3/?file=15337#file15337line383" style="color: black; font-weight: bold; text-decoration: underline;">/channels/chan_vpb.cc</a>
<span style="font-weight: normal;">
(Diff revision 3)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static struct ast_channel_tech vpb_tech = {</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">383</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="nl">capabilities:</span> <span class="n"><span class="hl">AST_FORMAT_SLINEAR</span></span><span class="p">,</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">381</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="nl">capabilities:</span> <span class="nb"><span class="hl">NULL</span></span><span class="p">,</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">here too.</pre>
</div>
<br />
<p>- Terry</p>
<br />
<p>On January 24th, 2011, 3:25 p.m., David Vossel wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://reviewboard.asterisk.orgrb/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 David Vossel.</div>
<p style="color: grey;"><i>Updated 2011-01-24 15:25:45</i></p>
<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 is the foundation of an entire new way of looking at media in Asterisk. The code present in this review is everything required to complete phase1 of my Media Architecture proposal.
For more information about this project visit the link below.
https://wiki.asterisk.org/wiki/display/AST/Media+Architecture+Proposal</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;">Below are the major areas I tested during development. I will continue testing as this patch is being reviewed.
-Local Channel + IAX2 channel load testing
-SIP Calls with and without video
-IAX2 Calls
-AudioHooks and apps using audiohooks
-Masquerades
-DTMF Attended Transfers
-SIP Transfers
-Gtalk
</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>/trunk/addons/chan_mobile.c <span style="color: grey">(303557)</span></li>
<li>/trunk/addons/chan_ooh323.h <span style="color: grey">(303557)</span></li>
<li>/trunk/addons/chan_ooh323.c <span style="color: grey">(303557)</span></li>
<li>/trunk/addons/format_mp3.c <span style="color: grey">(303557)</span></li>
<li>/trunk/addons/ooh323cDriver.h <span style="color: grey">(303557)</span></li>
<li>/trunk/addons/ooh323cDriver.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_alarmreceiver.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_amd.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_chanspy.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_confbridge.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_dahdibarge.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_dictate.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_dumpchan.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_echo.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_fax.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_festival.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_followme.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_ices.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_jack.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_meetme.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_milliwatt.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_mixmonitor.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_mp3.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_nbscat.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_originate.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_parkandannounce.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_record.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_rpt.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_sms.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_speech_utils.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_talkdetect.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_test.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_voicemail.c <span style="color: grey">(303557)</span></li>
<li>/trunk/apps/app_waitforsilence.c <span style="color: grey">(303557)</span></li>
<li>/trunk/bridges/bridge_multiplexed.c <span style="color: grey">(303557)</span></li>
<li>/trunk/bridges/bridge_simple.c <span style="color: grey">(303557)</span></li>
<li>/trunk/bridges/bridge_softmix.c <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/chan_agent.c <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/chan_alsa.c <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/chan_bridge.c <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/chan_console.c <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/chan_dahdi.c <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/chan_gtalk.c <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/chan_h323.c <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/chan_iax2.c <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/chan_jingle.c <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/chan_local.c <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/chan_mgcp.c <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/chan_misdn.c <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/chan_multicast_rtp.c <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/chan_nbs.c <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/chan_oss.c <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/chan_phone.c <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/chan_sip.c <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/chan_skinny.c <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/chan_unistim.c <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/chan_usbradio.c <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/chan_vpb.cc <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/h323/ast_h323.cxx <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/h323/chan_h323.h <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/iax2-parser.h <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/iax2-parser.c <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/iax2-provision.c <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/iax2.h <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/sip/include/globals.h <span style="color: grey">(303557)</span></li>
<li>/trunk/channels/sip/include/sip.h <span style="color: grey">(303557)</span></li>
<li>/trunk/codecs/codec_a_mu.c <span style="color: grey">(303557)</span></li>
<li>/trunk/codecs/codec_adpcm.c <span style="color: grey">(303557)</span></li>
<li>/trunk/codecs/codec_alaw.c <span style="color: grey">(303557)</span></li>
<li>/trunk/codecs/codec_dahdi.c <span style="color: grey">(303557)</span></li>
<li>/trunk/codecs/codec_g722.c <span style="color: grey">(303557)</span></li>
<li>/trunk/codecs/codec_g726.c <span style="color: grey">(303557)</span></li>
<li>/trunk/codecs/codec_gsm.c <span style="color: grey">(303557)</span></li>
<li>/trunk/codecs/codec_ilbc.c <span style="color: grey">(303557)</span></li>
<li>/trunk/codecs/codec_lpc10.c <span style="color: grey">(303557)</span></li>
<li>/trunk/codecs/codec_resample.c <span style="color: grey">(303557)</span></li>
<li>/trunk/codecs/codec_speex.c <span style="color: grey">(303557)</span></li>
<li>/trunk/codecs/codec_ulaw.c <span style="color: grey">(303557)</span></li>
<li>/trunk/codecs/ex_adpcm.h <span style="color: grey">(303557)</span></li>
<li>/trunk/codecs/ex_alaw.h <span style="color: grey">(303557)</span></li>
<li>/trunk/codecs/ex_g722.h <span style="color: grey">(303557)</span></li>
<li>/trunk/codecs/ex_g726.h <span style="color: grey">(303557)</span></li>
<li>/trunk/codecs/ex_gsm.h <span style="color: grey">(303557)</span></li>
<li>/trunk/codecs/ex_lpc10.h <span style="color: grey">(303557)</span></li>
<li>/trunk/codecs/ex_speex.h <span style="color: grey">(303557)</span></li>
<li>/trunk/codecs/ex_ulaw.h <span style="color: grey">(303557)</span></li>
<li>/trunk/formats/format_g719.c <span style="color: grey">(303557)</span></li>
<li>/trunk/formats/format_g723.c <span style="color: grey">(303557)</span></li>
<li>/trunk/formats/format_g726.c <span style="color: grey">(303557)</span></li>
<li>/trunk/formats/format_g729.c <span style="color: grey">(303557)</span></li>
<li>/trunk/formats/format_gsm.c <span style="color: grey">(303557)</span></li>
<li>/trunk/formats/format_h263.c <span style="color: grey">(303557)</span></li>
<li>/trunk/formats/format_h264.c <span style="color: grey">(303557)</span></li>
<li>/trunk/formats/format_ilbc.c <span style="color: grey">(303557)</span></li>
<li>/trunk/formats/format_jpeg.c <span style="color: grey">(303557)</span></li>
<li>/trunk/formats/format_ogg_vorbis.c <span style="color: grey">(303557)</span></li>
<li>/trunk/formats/format_pcm.c <span style="color: grey">(303557)</span></li>
<li>/trunk/formats/format_siren14.c <span style="color: grey">(303557)</span></li>
<li>/trunk/formats/format_siren7.c <span style="color: grey">(303557)</span></li>
<li>/trunk/formats/format_sln.c <span style="color: grey">(303557)</span></li>
<li>/trunk/formats/format_sln16.c <span style="color: grey">(303557)</span></li>
<li>/trunk/formats/format_vox.c <span style="color: grey">(303557)</span></li>
<li>/trunk/formats/format_wav.c <span style="color: grey">(303557)</span></li>
<li>/trunk/formats/format_wav_gsm.c <span style="color: grey">(303557)</span></li>
<li>/trunk/funcs/func_channel.c <span style="color: grey">(303557)</span></li>
<li>/trunk/funcs/func_frame_trace.c <span style="color: grey">(303557)</span></li>
<li>/trunk/funcs/func_pitchshift.c <span style="color: grey">(303557)</span></li>
<li>/trunk/include/asterisk/abstract_jb.h <span style="color: grey">(303557)</span></li>
<li>/trunk/include/asterisk/astobj2.h <span style="color: grey">(303557)</span></li>
<li>/trunk/include/asterisk/audiohook.h <span style="color: grey">(303557)</span></li>
<li>/trunk/include/asterisk/bridging.h <span style="color: grey">(303557)</span></li>
<li>/trunk/include/asterisk/bridging_technology.h <span style="color: grey">(303557)</span></li>
<li>/trunk/include/asterisk/callerid.h <span style="color: grey">(303557)</span></li>
<li>/trunk/include/asterisk/channel.h <span style="color: grey">(303557)</span></li>
<li>/trunk/include/asterisk/data.h <span style="color: grey">(303557)</span></li>
<li>/trunk/include/asterisk/file.h <span style="color: grey">(303557)</span></li>
<li>/trunk/include/asterisk/format.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>/trunk/include/asterisk/format_cap.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>/trunk/include/asterisk/format_pref.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>/trunk/include/asterisk/frame.h <span style="color: grey">(303557)</span></li>
<li>/trunk/include/asterisk/frame_defs.h <span style="color: grey">(303557)</span></li>
<li>/trunk/include/asterisk/image.h <span style="color: grey">(303557)</span></li>
<li>/trunk/include/asterisk/mod_format.h <span style="color: grey">(303557)</span></li>
<li>/trunk/include/asterisk/pbx.h <span style="color: grey">(303557)</span></li>
<li>/trunk/include/asterisk/rtp_engine.h <span style="color: grey">(303557)</span></li>
<li>/trunk/include/asterisk/slin.h <span style="color: grey">(303557)</span></li>
<li>/trunk/include/asterisk/slinfactory.h <span style="color: grey">(303557)</span></li>
<li>/trunk/include/asterisk/speech.h <span style="color: grey">(303557)</span></li>
<li>/trunk/include/asterisk/translate.h <span style="color: grey">(303557)</span></li>
<li>/trunk/main/abstract_jb.c <span style="color: grey">(303557)</span></li>
<li>/trunk/main/app.c <span style="color: grey">(303557)</span></li>
<li>/trunk/main/asterisk.c <span style="color: grey">(303557)</span></li>
<li>/trunk/main/astobj2.c <span style="color: grey">(303557)</span></li>
<li>/trunk/main/audiohook.c <span style="color: grey">(303557)</span></li>
<li>/trunk/main/bridging.c <span style="color: grey">(303557)</span></li>
<li>/trunk/main/callerid.c <span style="color: grey">(303557)</span></li>
<li>/trunk/main/ccss.c <span style="color: grey">(303557)</span></li>
<li>/trunk/main/channel.c <span style="color: grey">(303557)</span></li>
<li>/trunk/main/cli.c <span style="color: grey">(303557)</span></li>
<li>/trunk/main/data.c <span style="color: grey">(303557)</span></li>
<li>/trunk/main/dial.c <span style="color: grey">(303557)</span></li>
<li>/trunk/main/dsp.c <span style="color: grey">(303557)</span></li>
<li>/trunk/main/features.c <span style="color: grey">(303557)</span></li>
<li>/trunk/main/file.c <span style="color: grey">(303557)</span></li>
<li>/trunk/main/format.c <span style="color: grey">(PRE-CREATION)</span></li>
<li>/trunk/main/format_cap.c <span style="color: grey">(PRE-CREATION)</span></li>
<li>/trunk/main/format_pref.c <span style="color: grey">(PRE-CREATION)</span></li>
<li>/trunk/main/frame.c <span style="color: grey">(303557)</span></li>
<li>/trunk/main/image.c <span style="color: grey">(303557)</span></li>
<li>/trunk/main/indications.c <span style="color: grey">(303557)</span></li>
<li>/trunk/main/manager.c <span style="color: grey">(303557)</span></li>
<li>/trunk/main/pbx.c <span style="color: grey">(303557)</span></li>
<li>/trunk/main/rtp_engine.c <span style="color: grey">(303557)</span></li>
<li>/trunk/main/slinfactory.c <span style="color: grey">(303557)</span></li>
<li>/trunk/main/translate.c <span style="color: grey">(303557)</span></li>
<li>/trunk/main/udptl.c <span style="color: grey">(303557)</span></li>
<li>/trunk/pbx/pbx_spool.c <span style="color: grey">(303557)</span></li>
<li>/trunk/res/res_adsi.c <span style="color: grey">(303557)</span></li>
<li>/trunk/res/res_agi.c <span style="color: grey">(303557)</span></li>
<li>/trunk/res/res_calendar.c <span style="color: grey">(303557)</span></li>
<li>/trunk/res/res_clioriginate.c <span style="color: grey">(303557)</span></li>
<li>/trunk/res/res_fax.c <span style="color: grey">(303557)</span></li>
<li>/trunk/res/res_fax_spandsp.c <span style="color: grey">(303557)</span></li>
<li>/trunk/res/res_musiconhold.c <span style="color: grey">(303557)</span></li>
<li>/trunk/res/res_rtp_asterisk.c <span style="color: grey">(303557)</span></li>
<li>/trunk/res/res_rtp_multicast.c <span style="color: grey">(303557)</span></li>
<li>/trunk/res/res_speech.c <span style="color: grey">(303557)</span></li>
<li>/trunk/tests/test_format_api.c <span style="color: grey">(PRE-CREATION)</span></li>
</ul>
<p><a href="https://reviewboard.asterisk.org/r/1083/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>