[Home]

Summary:ASTERISK-04445: [patch] newjb - upon resync, delay of packet was inaccurately recorded
Reporter:grolloj (grolloj)Labels:
Date Opened:2005-06-20 13:50:06Date Closed:2008-01-15 15:38:48.000-0600
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Channels/chan_iax2
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) resync_delay.patch.txt
Description:In the history_put function of the new jitterbuffer, I had added code to resync the jitterbuffer when it recognized a large jump in delay that was sustained over a few frames. When the jb resyncs, it resets its history mechanism and records an offset to be used to adjust delay on future packets. The packet's delay is then added to the reset history mechanism and processing continues.

The delay being added to the history mechanism was wrong, however, as it didn't account for the resync. This patch correctly stores a 0 delay in the history for the resynced packet (after all, with the new resync_offset, the packet now appears to be arriving right when expected).

This was causing audio loss in our test environment. With the patch, this loss has been eliminated.

Comments:By: Kevin P. Fleming (kpfleming) 2005-06-20 21:29:30

Committed to CVS HEAD, thanks!

By: Digium Subversion (svnbot) 2008-01-15 15:38:48.000-0600

Repository: asterisk
Revision: 5953

U   trunk/jitterbuf.c

------------------------------------------------------------------------
r5953 | kpfleming | 2008-01-15 15:38:48 -0600 (Tue, 15 Jan 2008) | 2 lines

handle resync delay properly (bug ASTERISK-4445)

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=5953