[pjsip] jitter buffer problem

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

 



Saurabh Shah wrote:
> Hi all,
> 
> I am using Jitter Buffer module of PJSIP in my project.
> 
> I have some doubt in it.
> 
> Whenever new frame with higher sequence number than its maximum capacity 
> arrives, it deletes some frame from its list and store new frame without
> 
> Checking time validity of that frame.
> 
> Like my oldest frame in list is with sequence number 10 and maximum 
> capacity of my jitter buffer is 36 frames of packatized time with 20ms.
> 
> Now if my 50^th sequence number frame arrives with 100 ms delay after 
> receiving first one (10^th number frame) then buffer should not accept 
> it as 50^th number frame
> 
> Should required 800ms after receiving first frame.
> 
> But this jitter buffer accepts it and even deleted previously stored 
> frames for this new frame.
> 
> I am not sure that my observation is right or wrong.

Yes that is correct.

The jitter buffer in pjmedia does not have access to time, so it 
can't check the time validity of the frames. You can say this as a 
bug or feature depending on your point of view, but I tend to say 
this is a big plus since it makes the jitter buffer lighter and more 
portable across platforms, and it can be debugged more easily since 
it's not sensitive to time.

Having said that, regarding the scenario that you reported, IMO it 
doesn't matter whether a jitter buffer is time-based or not. Any 
jitter buffer will have to decide whether to accept the new frame 
(thus discarding old frames to fit into the buffer), or to drop the 
new frame. But remember that if we drop the new frame, the new frame 
will be lost since it's not retransmitted by sender. So either way, 
you'll have packet losses.

Dropping old frames has an advantage of keeping the playback in sync 
with the sender, that is to reduce the end-to-end latency between 
sender and player. So this is what the pjmedia's jitter buffer 
chooses to do.

regards,
  -benny

> So please let me know whether this observation is right or not? And if 
> its right then what Is the solution of it?
> 
>  
> 
> Thank you in advances to all experts.
> 
>  
> 
> Regards,
> 
> Saurabh Shah
> 
> R&D Engineer
> 
> Matrix Telecom Pvt. Ltd.
> 
> saurabh.shah at matrixtelesol.com <mailto:saurabh.shah at matrixtelesol.com>
> 
> matrixtelesol.com
> 
> ------------------------------------------------------------------------
> 
> *From:* pjsip-bounces at lists.pjsip.org 
> [mailto:pjsip-bounces at lists.pjsip.org] *On Behalf Of *anass kartit
> *Sent:* Tuesday, October 16, 2007 9:29 PM
> *To:* pjsip at pjsip.org
> *Subject:* [pjsip] accessing the payload in RTP
> 
>  
> 
> Hi,
> 
> How can I access the payload before sending the RTP packet and after 
> receving it?
> 
>  
> 
>  
> 
> - This message has been scanned for viruses, spam and dangerous content 
> and is believed to be clean.
> 
>  
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Visit our blog: http://blog.pjsip.org
> 
> pjsip mailing list
> pjsip at lists.pjsip.org
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org


-- 
Benny Prijono
http://www.pjsip.org




[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux