[Speex-dev] How does the jitter buffer "catch up"?

Jean-Marc Valin Jean-Marc.Valin at USherbrooke.ca
Sun Sep 18 16:25:04 PDT 2005

> (PS, if you do use threads, protect speex_jitter_put/get with a mutex 
> (CRITICAL_SECTION I believe they're called in Win32Speak) -- calling put 
> and get at the exact same time from different threads leads to "features")

I've never tested this, but I designed the jitter buffer to work from
two threads even without using a mutex. This would work as long as there
is one thread doing the "put" and one thread doing the "get".

> As for detecting outages, a hack I use is to check jitter->valid_bits. If 
> it's set, we decoded "something", if it's not, we're interpolating 
> something which may not sound that good so feed the soundcard 20ms of 
> silence instead.

Why would you do that. The idea of interpolating a frame is exactly to
get better quality than just putting zeros.


Jean-Marc Valin <Jean-Marc.Valin at USherbrooke.ca>
Université de Sherbrooke

More information about the Speex-dev mailing list