Initialize offset for adaptive jitter buffer

When the adaptive jitter buffer is enabled in sip.conf, the first frame placed
in the jitter buffer fails with something like:

jb_warning_output: Resyncing the jb. last_delay 0, this delay -215886466,
threshold 1000, new offset 215886466

This happens because the offset is not initialized before calling jb_put(). This
patch modifies jb_put_first_adaptive() to set the offset to the frame's
timestamp.

Review: https://reviewboard.asterisk.org/r/1041/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@297310 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.4
Terry Wilson 15 years ago
parent 92ea2179e5
commit 59db525cc0

@ -752,6 +752,11 @@ static void jb_destroy_adaptive(void *jb)
static int jb_put_first_adaptive(void *jb, struct ast_frame *fin, long now)
{
jitterbuf *adaptivejb = (jitterbuf *) jb;
/* Initialize the offset to that of the first frame's timestamp */
adaptivejb->info.resync_offset = fin->ts;
return jb_put_adaptive(jb, fin, now);
}

Loading…
Cancel
Save