[Speex-dev] Who is using the jitter buffer?

Jean-Marc Valin Jean-Marc.Valin at USherbrooke.ca
Wed Mar 22 00:03:06 PST 2006

Le mardi 21 mars 2006 à 13:45 -0800, Shantanu Gramsci a écrit :
> It seems that speex jitter buffer is tightly coupled
> with SPEEX codec [we have to give a speex decoder
> instance to JB]. It would be better if we could use it
> with any codec, like speex preprocessor and AEC.

It's actually what I'm trying to do at the moment. It's not as easy as
seems to decouple the jitter buffer from the codec because there's a lot
of assumptions you can no longer make. I've already done part of the
work, which is already in svn in the same files. The JitterBuffer struct
is the new generic buffer and the old SpeexJitter is now based on it. I
haven't done much testing yet, so expect things to break.

> What are the any paper/theory/algorithms behind
> current ADAPTIVENESS of speex JB? Links to those
> algo/papers would help to understand better.

Sorry, no paper or anything. The algo comes straight out of my head,
although I wouldn't be surprised if I simply re-invented the same
algorithm as others are using (or similar). The code is now a lot
cleaner, so you may be able to figure out the algorithm from there. It's
rather trivial: compute a real-time histogram of how early/late packets
are and use that to drop or interpolate packets.


> -- Shantanu
> --- Thorvald Natvig <speex at natvig.com> wrote:
> > 
> > Oh, I forgot to mention one thing. I currently
> > append a few bits of custom 
> > information to each speex packet which I fetch out
> > with 
> > things like
> > speex_bits_unpack_unsigned(&sjJitter.current_packet,
> > 1);
> > 
> > It would be very usefull if the jitter buffer didn't
> > actually decode the 
> > packet, but instead returned a pointer to it (or
> > NULL if you should play 
> > silence and -1 if you should repeat the last packet
> > again).
> > 
> > If you're making a more generic API, it would also
> > be beneficial if packet 
> > loss (and late transmissions) statistics could be
> > fetched somehow.
> > 
> > _______________________________________________
> > Speex-dev mailing list
> > Speex-dev at xiph.org
> > http://lists.xiph.org/mailman/listinfo/speex-dev
> > 
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around 
> http://mail.yahoo.com 
> _______________________________________________
> Speex-dev mailing list
> Speex-dev at xiph.org
> http://lists.xiph.org/mailman/listinfo/speex-dev

More information about the Speex-dev mailing list