Problem with framelist in jitter buffer implementation !!

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

 



Hi, I'm digging into jitter buffer implementation (jbuf.c) and find
something frustrated

In the method jb_framelist_put_at() in jbuf.c

/* too late or sequence restart */
if (index < framelist->origin) {
if (framelist->origin - index < MAX_MISORDER) {
/* too late */
return PJ_ETOOSMALL;
} else {
/* sequence restart */
framelist->origin = index - framelist->size;
}
}

When framelist->origin - index >= MAX_MISORDER, there are 3 problems
1. If index < framelist->size, then framelist->orgin < 0 ??
2. If we don't reset framelist, so frame will stand in the wrong position,
frame with higher sequence number will be fetched before the lower one ??
3. Is this right framelist->origin = index - framelist->size - 1 ??

And last question, is jitter buffer implemented according to any document ?
(Particularly, I want to ask about "progressive discard algorithm)

Many thanks

-- 
Khoa Pham
HCMC University of Science
Faculty of Information Technology
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20130131/22765e41/attachment-0001.html>


[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