<div>Hi, all:</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp; I am ChenJianming, a student major in communication engineering in Mainland China.</div>
<div>Recently I have always been reading some source codes of RAT(rat-4.2.23) on the purpose&nbsp;</div>
<div>of interpreting well of mutil-layers speech signal coding over IP conference, which is a homework</div>
<div>project assigned by our teacher. But when I traced some source code, it confused me so much.</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp; As I know, in the definition of s_session structure, there is a statement of</div>
<div>&quot;&nbsp;struct rtp&nbsp;&nbsp;*rtp_session[MAX_LAYERS] &quot;, and I think this just is basement of multi-layer </div>
<div>signal processing.</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp; Staring from here, I found that in the &quot;main_engine.c&quot;, at about 295th line, it called the</div>
<div>function &quot;rtp_recv(sp[i]-&gt;rtp_session[j], &amp;timeout, rtp_time))&quot;. On using of this function, it got</div>
<div>each layer&#39;s data for the same speech chunck. The following flow is the processing sequence:</div>
<div>rtp_recv--&gt;rtp_recv_data()--&gt;process_rtp()--&gt;session-&gt;callback()--&gt;process_rtp_data()--&gt;</div>
<div>source_add_packet()--&gt;pktbuf_enqueue()--&gt;pb_add().</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp; For the last function, in the implementation of it, we could find out these statements:</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp; if (curr != stop &amp;&amp; ts_eq(curr-&gt;playout, playout)) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; debug_msg(&quot;Add failed - unit already exists\n&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return FALSE;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp; So, for different layers of the same speech chunck, the timestamp of each packet should be</div>
<div>the same. And from the above statement. we can found that RAT would never successfully insert</div>
<div>the other layer&#39;s data because of equal in the timestamp. This is just&nbsp;a wired result...</div>
<div>&nbsp;&nbsp;&nbsp; Does this version of RAT(4.2.23) still not support the real multi-layer transmitting? Or I have made</div>
<div>some mistakes on the above?</div>
<div>&nbsp;&nbsp;&nbsp; Any suggestion will be appreciated. Thanks in advance.</div>
<div>&nbsp;&nbsp;&nbsp; <br clear="all"><br>-- <br><br>Sincerely Yours,<br>ChenJianming </div>