diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-05-19 01:24:09 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-05-19 01:24:09 +0000 |
commit | 160bd00f28f1a866ce0d62fad10d9115fc070c1d (patch) | |
tree | 713fc32b1c867d1d214ad6fe3d2688862add7989 /channels | |
parent | 4be4420d180e7487b8971de2eb9e2cc1a44b4722 (diff) |
Yet another set of jitter buffer changes (this time some scheduling improvements) (bug #4319)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5722 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rwxr-xr-x | channels/chan_iax2.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 37c305890..6f8d5cb7c 100755 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -2222,6 +2222,7 @@ static int schedule_delivery(struct iax_frame *fr, int reallydeliver, int update { #ifdef NEWJB int type, len; + int ret; #else int x; int ms; @@ -2387,10 +2388,11 @@ static int schedule_delivery(struct iax_frame *fr, int reallydeliver, int update /* insert into jitterbuffer */ /* TODO: Perhaps we could act immediately if it's not droppable and late */ - if(jb_put(iaxs[fr->callno]->jb, fr, type, len, fr->ts, - calc_rxstamp(iaxs[fr->callno],fr->ts)) == JB_DROP) { + ret = jb_put(iaxs[fr->callno]->jb, fr, type, len, fr->ts, + calc_rxstamp(iaxs[fr->callno],fr->ts)); + if (ret == JB_DROP) { iax2_frame_free(fr); - } else { + } else if (ret == JB_SCHED) { update_jbsched(iaxs[fr->callno]); } #else |