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

................
  r297311 | twilson | 2010-12-02 12:07:39 -0600 (Thu, 02 Dec 2010) | 21 lines

  Merged revisions 297310 via svnmerge from
  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.8@297312 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/abstract_jb.c

index 84b9d6199f7da499a8cfd2d8e804cbadecd98bfe..4cd5ccb0d7acaf732d5f98c8361f8b953d6ca168 100644 (file)
@@ -762,6 +762,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);
 }