[asterisk-commits] kmoore: trunk r400397 - in /trunk: ./ res/res_rtp_multicast.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Oct 3 13:33:01 CDT 2013


Author: kmoore
Date: Thu Oct  3 13:32:59 2013
New Revision: 400397

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=400397
Log:
Ensure res_rtp_mutlicast sets SSRC properly

This fixes a bug where the SSRC field on multicast RTP can be stuck at
0 which can cause problems for endpoints trying to make sense of
incoming streams.

(closes issue ASTERISK-22567)
Reported by: Simone Camporeale
Patches:
    22567_res_mulitcast_ssrc.patch uploaded by Simone Camporeale (License 6536)
........

Merged revisions 400393 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 400394 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 400395 from http://svn.asterisk.org/svn/asterisk/branches/12

Modified:
    trunk/   (props changed)
    trunk/res/res_rtp_multicast.c

Propchange: trunk/
------------------------------------------------------------------------------
--- branch-12-merged (original)
+++ branch-12-merged Thu Oct  3 13:32:59 2013
@@ -1,1 +1,1 @@
-/branches/12:1-398558,398560-398577,398579-399305,399307-400181,400194,400196,400205,400217,400227,400236,400245,400254,400256,400265,400268,400270,400281,400284,400286,400291,400303,400312,400316,400318-400319,400356,400362,400373,400384
+/branches/12:1-398558,398560-398577,398579-399305,399307-400181,400194,400196,400205,400217,400227,400236,400245,400254,400256,400265,400268,400270,400281,400284,400286,400291,400303,400312,400316,400318-400319,400356,400362,400373,400384,400395

Modified: trunk/res/res_rtp_multicast.c
URL: http://svnview.digium.com/svn/asterisk/trunk/res/res_rtp_multicast.c?view=diff&rev=400397&r1=400396&r2=400397
==============================================================================
--- trunk/res/res_rtp_multicast.c (original)
+++ trunk/res/res_rtp_multicast.c Thu Oct  3 13:32:59 2013
@@ -260,14 +260,14 @@
 	/* Construct an RTP header for our packet */
 	rtpheader = (unsigned char *)(f->data.ptr - hdrlen);
 	put_unaligned_uint32(rtpheader, htonl((2 << 30) | (codec << 16) | (multicast->seqno)));
-	put_unaligned_uint32(rtpheader + 4, htonl(multicast->lastts));
 	
 	if (ast_test_flag(f, AST_FRFLAG_HAS_TIMING_INFO)) {
 		put_unaligned_uint32(rtpheader + 4, htonl(f->ts * 8));
-	} 
-	else {
-		put_unaligned_uint32(rtpheader + 8, htonl(multicast->ssrc));
-	}
+	} else {
+		put_unaligned_uint32(rtpheader + 4, htonl(multicast->lastts));
+	}
+
+	put_unaligned_uint32(rtpheader + 8, htonl(multicast->ssrc));
 
 	/* Increment sequence number and wrap to 0 if it overflows 16 bits. */
 	multicast->seqno = 0xFFFF & (multicast->seqno + 1);




More information about the asterisk-commits mailing list