if the new draft in the manual is used.&nbsp; I&nbsp; don't find how to tell the decoder which mode(NB/WB/UWB) is used<br>
in the encoder.&nbsp; The RTP header don't contain the mode field and I don't find the mode information in the <br>
coded frame either.&nbsp;&nbsp;&nbsp; <br>
<br>
Does this mean we have to use NB decoder in all cases?<br>
<br>
Lianghu<br><br><div><span class="gmail_quote">On 11/22/06, <b class="gmail_sendername">Jean-Marc Valin</b> &lt;<a href="mailto:jean-marc.valin@usherbrooke.ca">jean-marc.valin@usherbrooke.ca</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br><br>lianghu xu wrote:<br>&gt; In a word, I don't what's the standard of speex payload format.<br>&gt; The file doc/rtp.txt is for what?&nbsp;&nbsp;Is it not for rtp payload?<br>&gt; I find that rtp.txt is more detail that draft02.txt
<br>&gt;<br>&gt; Which rtp docment should be followed?<br>&gt; Anyone else has written the RTP wrapper already?<br><br>Oh, I see. doc/rtp.txt was a very, very early draft. See the manual for<br>a newer one.<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Jean-Marc
<br><br>&gt; Lianghu<br>&gt;<br>&gt; On 11/22/06, *Jean-Marc Valin* &lt;<a href="mailto:jean-marc.valin@usherbrooke.ca">jean-marc.valin@usherbrooke.ca</a><br>&gt; &lt;mailto:<a href="mailto:jean-marc.valin@usherbrooke.ca">
jean-marc.valin@usherbrooke.ca</a>&gt;&gt; wrote:<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; 1) First, I think there is a bug in&nbsp;&nbsp;libspeex/lsp.c&nbsp;&nbsp;line 512.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; /* hard limit ak's to +/- 32767 */<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (a &lt; -32767) a
=32767;&nbsp;&nbsp; // This line should be changed to if<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; (a &lt; -32767) a = -32767;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (a &gt; 32767) a = 32767;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ak[j-1] = (short)a;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Oops. Thanks for pointing that out. It's fixed in svn.
<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; 2) About the RTP wrapper for VoIP<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; I'd like to use the payload format defined in the SVN document rtp.txt<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; as below.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; What I'm worry about is the interoperability with other
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; implementations.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; What's your opinion on that?<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Can you summarize what the issue is?<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Jean-Marc<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Best Regards,
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Lianghu<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; //************************from the SVN /doc/rtp.txt begin<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; *************************************//<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; The Speex RTP payload is defined as a header, followed by any
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; number of<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; requests to the remote encoder and all encoded speech frames.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; +--------+----------+----------------+<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; | Header | Requests | Speech data... |
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; +--------+----------+----------------+<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; The header contains only the number of frames sent<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; encoded in 6 bits<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;0 1 2 3 4 5
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; +-+-+-+-+-+-+<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; | NB frames |<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; +-+-+-+-+-+-+<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; There can be any number of requests of the form<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;0 1 2 3 4 5 6 7 0 1
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; +-+-+-+-+-+-+-+-+-+-+<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; |R| ReqID | ReqVal&nbsp;&nbsp;|<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; +-+-+-+-+-+-+-+-+-+-+<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; where R is 1 when a request is following and 0 when there is no more<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; request. Each request (if R=1) is composed of a 4-bit request ID<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; (ReqID) and<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; a 5-bit value (ReqVal)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Possible values for ReqID are:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;0: REQ_PERSIST&nbsp;&nbsp; ReqVal=1 for persistent requests/mode selection,
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0 otherwise<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;1: PERSIST_ACK&nbsp;&nbsp; Acknowledge a REQ_PERSIST from the other end,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ReqVal equals the value received<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&gt;&nbsp;&nbsp;2:
MODE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Choose
the encoder mode directly<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;3: QUALITY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Choose the encoder quality<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&gt;&nbsp;&nbsp;4:
VBR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set VBR
on (ReqVal=1) or off (ReqVal=2)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;5: VBR_QUALITY&nbsp;&nbsp; Set the encoder quality for VBR mode<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&gt;&nbsp;&nbsp;6: LOW_MODE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the
encoder mode for low-band (wideband only)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&gt;&nbsp;&nbsp;7: HIGH_MODE&nbsp;&nbsp;&nbsp;&nbsp; Set the encoder
mode for high-band (wideband only)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; All requests should be considered at the receiver as a suggestion and<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; compliance is not mandatory. The PERSIST_ACK should be sent upon
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; receiving a<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; REQ_PERSIST request to indicate that the request has been received.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; The speech data part contains speech frames one after the other.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; The size of
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; the encoded frames can be found since the mode is directly encoded<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; into each<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; frame.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; For example, a frame where we request VBR to be on with quality 8
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; and we<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; transmit two frames encoded at 8.35 kbps (167 bits/frame) will be:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&gt;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
3<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&gt; |&nbsp;&nbsp; NB=2&nbsp;&nbsp;&nbsp;&nbsp;|1|ReqID=2|
ReqVal=0|1|ReqID=3|ReqVal=8 |0| frame 1 |<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&gt;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
frame
1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&gt;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
frame
1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&gt;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
frame
1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&gt;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
frame
1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&gt;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
frame
1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&gt;
|end|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
frame
2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&gt;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
frame
2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&gt;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
frame
2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&gt;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
frame
2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&gt;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
frame
2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; |&nbsp;&nbsp;&nbsp;&nbsp;end frame 2&nbsp;&nbsp;&nbsp;&nbsp;|P|P|P|P|P|P|<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; //************************from the SVN /doc/rtp.txt end
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; *************************************//<br>&gt;<br>&gt;<br></blockquote></div><br>