<html><HEAD>
<STYLE type=text/css>p{margin: 0;}</STYLE>

<META content="MSHTML 6.00.6001.18226" name=GENERATOR></HEAD>
<BODY style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana,Arial,Helvetica,sans-serif">
<P>There is an error in the manual as it is now on p.39 (speex-manual.pdf)&nbsp;under the speex specific jitter buffer.</P>
<P>The error was also a part of the code untill resently (I downloaded it a few weeks ago with the error)</P>
<P>&nbsp;</P>
<P>The error was (in the code) in the function: <FONT size=2><FONT size=2><FONT face=verdana>void<STRONG> </STRONG></FONT></FONT></FONT><FONT size=2><FONT face=verdana size=2>speex_jitter_get(,,) where the packet.len was not set to 2048. So actually there should just be inserted the statement: packet.len = 2048;</FONT></FONT></P>
<P>&nbsp;</P>
<P>This has been done in the code, but is not reflected in the manual.</P>
<P>&nbsp;</P>
<P>&nbsp;</P>
<P>Another thing is if I may and that is to suggest a functionallity to the speex specific jitter buffer which would be a int&nbsp;get_consequtive_lost_count() or bool is_reset() which would simple deal with with the lost_count variable in the jitter_buffer (not speex specific) and either return the lost_count value or return a value indicating wether it is higher than the value used to reset the jitter_buffer (think its 20 atm).</P>
<P>&nbsp;</P>
<P>The reason Im suggesting this is because in a chat application with multiple peers it is rather expensive for realtime chat applications to constantly call speex_jitter_get(,,,) (more so if it should run in the background of another app such as a game) to obtain data that with a very high probability is just silence (the more connections the higher probability, since usually only 1 person talks at a time). Since the jitter_buffer will reset after 20 consequtive lost packets you could just as well check for this and skip the ...get() for a&nbsp;performance boost.</P>
<P>&nbsp;</P>
<P>In order to do this you should expose the lost_count to functions outside the lib either by implementing a direct function or as a part of jitter_buffer_ctl() with a GET_CONSEQ_LOST option.</P>
<P>&nbsp;</P>
<P>Yes&nbsp;I write to long posts....</P>
<P>&nbsp;</P>
<P>Best regards</P>
<P>Per Lohmann</P>
<P><FONT face=Courier size=2><FONT face=Courier size=2>&nbsp;</P></FONT></FONT></BODY></html>