aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortwilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b>2010-12-02 18:13:49 +0000
committertwilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b>2010-12-02 18:13:49 +0000
commitf912d4da3aa2284fd0ee057e933a07886494c1a7 (patch)
treeb6ef45ab195ceb32f63f6f3b7d3e7f92bccc7a6b
parent426e614b8b2fe902b8a486f420bc4ed7f31f8c5f (diff)
Merged revisions 297311 via svnmerge from
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: http://svn.digium.com/svn/asterisk/branches/1.8@297312 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--main/abstract_jb.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/main/abstract_jb.c b/main/abstract_jb.c
index 84b9d6199..4cd5ccb0d 100644
--- a/main/abstract_jb.c
+++ b/main/abstract_jb.c
@@ -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);
}