[Speex-dev] RTP and jitter buffer relationship

Baldvin Hansson baldvin at rogg.is
Mon Jun 6 14:25:00 PDT 2005

Good question. I'm coming to the conclusion that using plain UDP and
"home-grown" packet construction for transmitting the speex data (with
timestamp/sequence counter) and implementing jitter control on the receiver
end is an adequate implementation for a VoIP application. Assuming of course
that I don't care about any interoperability issues with other applications

I was under the impression from reading some RTP documents that such stack
would be necessary to achieve acceptable "speed and performance" in
transmitting the VoIP data. This is most likely a naive conclusion I've made
and my app should do well without implementing or using something that can
be defined as an official RTP stack. Given that I implement/use a decent
jitter buffer at the receiver.

Question: Is there a sample implementation available somewhere that uses the
Speex jitter buffer implementation? I'm interested in a reference
implementation to use to validate my own ideas about how to do this.

Question: If I manage to get a sample (Win32 compiled using VC++)
application constructed, is there any interest in some "documentation" text
that would help with basic (sometimes silly) questions like the ones I've
been asking tonight? Or is such text already available (can't see anything
in the PDF for 1.1.9)?

I really appreciate you taking time to read and reply.


> -----Original Message-----
> From: Jean-Marc Valin [mailto:Jean-Marc.Valin at USherbrooke.ca] 
> Sent: 6. júní 2005 20:41
> To: baldvin at rogg.is
> Subject: Re: [Speex-dev] RTP and jitter buffer relationship
> > If I would implement my VoIP application using RTP to transmit data 
> > between recording-point and playback-point, would I still use the 
> > jitter buffer or does RTP actually take care of the jitter buffer 
> > tasks?
> I think your RTP stack should handle this (though I'm doing a 
> few more things in my jitter buffer, like handling 
> multi-frame packets).
> > If I use the Speex jitter buffer implementation (or any 
> other jitter 
> > buffer implementation for that matter), should I expect to get a 
> > decent voice data transfer/decoding by sending the speex 
> encoded data 
> > (along with a simple time-stamp of when the frame/packet 
> was prepared) 
> > via UDP and relying on the jitter buffer implementation to supply a 
> > steady stream of ready-to-use packets?
> Sure, why not?
> 	Jean-Marc
> --
> Jean-Marc Valin <Jean-Marc.Valin at USherbrooke.ca> Universite 
> de Sherbrooke

More information about the Speex-dev mailing list