[Speex-dev] Error in manual and a suggestion

Per Lohmann per at interactivelabproduction.com
Wed Apr 22 00:24:12 PDT 2009

There is an error in the manual as it is now on p.39
(speex-manual.pdf) under the speex specific jitter buffer.
The error was also a part of the code untill resently (I downloaded it a
few weeks ago with the error)
The error was (in the code) in the function: voidspeex_jitter_get(,,)
where the packet.len was not set to 2048. So actually there should just
be inserted the statement: packet.len = 2048;
This has been done in the code, but is not reflected in the manual.
Another thing is if I may and that is to suggest a functionallity to the
speex specific jitter buffer which would be a
int 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).
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 performance
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.
Yes I write to long posts....
Best regards
Per Lohmann
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20090422/4a5a83e8/attachment.htm 

More information about the Speex-dev mailing list