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
> etc.
Exactly.
> 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.
Jean-Marc
> I really appreciate you taking time to read and reply.
>
> Sincerely,
> Baldvin
>
> > -----Original Message-----
> > From: Jean-Marc Valin [mailto:Jean-Marc.Valin@USherbrooke.ca]
> > Sent: 6. j?n? 2005 20:41
> > To: baldvin@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@USherbrooke.ca> Universite
> > de Sherbrooke
> >
> >
>
>
> _______________________________________________
> Speex-dev mailing list
> Speex-dev@xiph.org
> http://lists.xiph.org/mailman/listinfo/speex-dev
--
Jean-Marc Valin <Jean-Marc.Valin@USherbrooke.ca>
Universite de Sherbrooke