[asterisk-commits] russell: branch 1.6.1 r178172 - in /branches/1.6.1: ./ main/rtp.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Feb 23 17:22:53 CST 2009


Author: russell
Date: Mon Feb 23 17:22:52 2009
New Revision: 178172

URL: http://svn.digium.com/svn-view/asterisk?view=rev&rev=178172
Log:
Merged revisions 178142 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/trunk

................
r178142 | russell | 2009-02-23 17:11:37 -0600 (Mon, 23 Feb 2009) | 22 lines

Merged revisions 178141 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r178141 | russell | 2009-02-23 17:09:01 -0600 (Mon, 23 Feb 2009) | 14 lines

Fix infinite DTMF when a BEGIN is received without an END.

This commit is related to rev 175124 of 1.4 where a previous attempt was made
to fix this problem.  The problem with the previous patch was that the inserted
code needed to go _before_ setting the lastrxts to the current timestamp.
Because those were the same, the dtmfcount variable was never decremented, and
so the END was never sent.

In passing, I removed the dtmfsamples variable which was completed unused.  I
also removed a redundant setting of the lastrxts variable.

(closes issue #14460)
Reported by: moliveras

........

................

Modified:
    branches/1.6.1/   (props changed)
    branches/1.6.1/main/rtp.c

Propchange: branches/1.6.1/
------------------------------------------------------------------------------
Binary property 'trunk-merged' - no diff available.

Modified: branches/1.6.1/main/rtp.c
URL: http://svn.digium.com/svn-view/asterisk/branches/1.6.1/main/rtp.c?view=diff&rev=178172&r1=178171&r2=178172
==============================================================================
--- branches/1.6.1/main/rtp.c (original)
+++ branches/1.6.1/main/rtp.c Mon Feb 23 17:22:52 2009
@@ -1741,13 +1741,7 @@
 	rtp->lastrxformat = rtp->f.subclass = rtpPT.code;
 	rtp->f.frametype = (rtp->f.subclass & AST_FORMAT_AUDIO_MASK) ? AST_FRAME_VOICE : (rtp->f.subclass & AST_FORMAT_VIDEO_MASK) ? AST_FRAME_VIDEO : AST_FRAME_TEXT;
 
-	if (!rtp->lastrxts)
-		rtp->lastrxts = timestamp;
-
 	rtp->rxseqno = seqno;
-
-	/* Record received timestamp as last received now */
-	rtp->lastrxts = timestamp;
 
 	if (rtp->dtmfcount) {
 		rtp->dtmfcount -= (timestamp - rtp->lastrxts);
@@ -1763,6 +1757,9 @@
 			return f;
 		}
 	}
+
+	/* Record received timestamp as last received now */
+	rtp->lastrxts = timestamp;
 
 	rtp->f.mallocd = 0;
 	rtp->f.datalen = res - hdrlen;




More information about the asterisk-commits mailing list