]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 297310 via svnmerge from
authorTerry Wilson <twilson@digium.com>
Thu, 2 Dec 2010 18:07:39 +0000 (18:07 +0000)
committerTerry Wilson <twilson@digium.com>
Thu, 2 Dec 2010 18:07:39 +0000 (18:07 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r297310 | twilson | 2010-12-02 12:00:27 -0600 (Thu, 02 Dec 2010) | 12 lines

  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.6.2@297311 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/abstract_jb.c

index eb42346af3f797f9a29c00d350cf75db84004f8a..6b86ba7ae547632e68f7875259eeffec7dcf98e5 100644 (file)
@@ -763,6 +763,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);
 }