[Speex-dev] RTP and jitter buffer relationship
Jean-Marc.Valin at USherbrooke.ca
Mon Jun 6 14:32:01 PDT 2005
Le lundi 06 juin 2005 à 21:25 +0000, Baldvin Hansson a écrit :
> 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.
The jitter actually does what the RTP stack does: reorder packets and
handle latency/buffering issues. RTP is basically UDP plus some other
fields in the header (including a timestamp). If you don't use those
headers, then it's just UDP+timestamp like you're doing. Of course, the
idea of RTP is to have a standard for real-time transmission (so you can
reuse the stack and all).
> 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.
I've written one, hot haven't ported it yet. I'll try to do that soon.
> 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)?
Sorry, no doc available.
> 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
> Speex-dev mailing list
> Speex-dev at xiph.org
Jean-Marc Valin <Jean-Marc.Valin at USherbrooke.ca>
Universite de Sherbrooke
More information about the Speex-dev