diff options
-rw-r--r-- | pjmedia/src/pjmedia/jbuf.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/pjmedia/src/pjmedia/jbuf.c b/pjmedia/src/pjmedia/jbuf.c index c9a47f29..2cbb1643 100644 --- a/pjmedia/src/pjmedia/jbuf.c +++ b/pjmedia/src/pjmedia/jbuf.c @@ -267,6 +267,13 @@ static pj_bool_t jb_framelist_put_at(jb_framelist_t *framelist, framelist->flist_max_count; } } else { + // check if frame is not too late, but watch out for sequence restart. + if (index < framelist->flist_origin && + framelist->flist_origin - index < 0x7FFF) + { + return PJ_FALSE; + } + where = framelist->flist_tail; framelist->flist_origin = index; framelist->flist_tail = (framelist->flist_tail + 1) % |