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
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);
}