[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Linphone-developers] oRTP scheduler too fast??

From: Simon MORLAT
Subject: Re: [Linphone-developers] oRTP scheduler too fast??
Date: Wed, 19 Nov 2003 10:21:06 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031105 Thunderbird/0.3


With ortp-0.6.3preX you don't need glib at all.
Looking at the ethereal log (very interesting thing), you can see that rtp packets are sent by group of 3 or 4 nearly at the same time. They are not sent at regular interval. This happens very often, mostly because of bad soundcard/sound drivers that can't grab small buffers of sound. So the rtp layer has to sent them by bursts.
But the receiver may be upset of that.
try calling rtp_session_set_jitter_compensation(rtpsession,100);
100 means 100 miliseconds, this is the time of bufferized audio before it is delivered to your application. Your rtp sender seems to send 60-80ms of audio simultaneously, so a jitter compensation of 100ms should be enough for the receiver. Having an automatic jitter-compensation setting is a direction for a future work...

Tomas Lundqvist wrote:

Ok, so I don't need glib at all then? Not when copiling ortp and not when 
compiling my application?

I have added SIP functionality to rtprecv.c (ortp-0.6.3pre4). You can see the code in "ortpsiptest.c". I tested it both against Linphone and the windowsprogram Ubiquity Helsman UA ( and I get the same bad result. You can see the output for this in recvtestout. I compiled both with and without glib. You can compare the result with the output from my app in "myappstat". The statistics are just as bad for both apps.
I have investigated the SIP/RTP-traffic with "Ethereal" and it seems perfectly fine to 
me. You can see the traffic (Helsman UA) in "recvtest".

So now I have tested two different apps, two different ortp versions, two 
different sending SIP UA running on two different OS and I have tried all 
different combinations of these, and the oRTP API is always unsyncronized with 
the incoming RTP stream. Additionally I have tried to compile the apps with and 
without glib. The result is always the same.

If you look at the Ethereal output you will see that the RTP packets contains 
160 bytes of G.711 ALAW. And that the timestamp continously increases with 160. 
Aso, there are no missing packets and the packets are sent with continous time 
intervals (nice 100Mbit LAN conditions).

Would there bee any difference if I send from this computer and receive at the 
other? (same Linux distro but intel PIII instead of AMD Athlon)

I just don't know what to do! Shouldn't it be possible to receive an RTP stream 
from a SIP UA (Linphone). I can't see that there should be anything wrong with 
linphone since the result is the same with Helsman UA.

I really like your API and I want to use it!




reply via email to

[Prev in Thread] Current Thread [Next in Thread]