[svn-commits] oej: branch oej/chocolate-video-congestion-11 r431641 - /team/oej/chocolate-v...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Tue Feb 10 10:59:22 CST 2015


Author: oej
Date: Tue Feb 10 10:59:21 2015
New Revision: 431641

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=431641
Log:
Building infrastructure

Modified:
    team/oej/chocolate-video-congestion-11/res/res_rtp_asterisk.c

Modified: team/oej/chocolate-video-congestion-11/res/res_rtp_asterisk.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/chocolate-video-congestion-11/res/res_rtp_asterisk.c?view=diff&rev=431641&r1=431640&r2=431641
==============================================================================
--- team/oej/chocolate-video-congestion-11/res/res_rtp_asterisk.c (original)
+++ team/oej/chocolate-video-congestion-11/res/res_rtp_asterisk.c Tue Feb 10 10:59:21 2015
@@ -89,12 +89,34 @@
 
 #define TURN_STATE_WAIT_TIME 2000
 
-#define RTCP_PT_FUR     192
-#define RTCP_PT_SR      200
-#define RTCP_PT_RR      201
-#define RTCP_PT_SDES    202
-#define RTCP_PT_BYE     203
-#define RTCP_PT_APP     204
+#define RTCP_PT_FUR     192             /*!< FIR  - Full Intra-frame request (h.261) */
+#define RTCP_PT_NACK    193             /*!< NACK - Negative acknowledgement (h.261) */
+#defien RTCP_SMPTETC	194		/*!> SMTPETC - time code mapping RFC 5484 */
+#define RTCP_PT_IJ      195             /*!< IJ   - RFC 5450 Extended Inter-arrival jitter report */
+#define RTCP_PT_SR      200             /*!< SR   - RFC 3550 Sender report */
+#define RTCP_PT_RR      201             /*!< RR   - RFC 3550 Receiver report */
+#define RTCP_PT_SDES    202             /*!< SDES - Source Description */
+#define RTCP_PT_BYE     203             /*!< BYE  - Goodbye */
+#define RTCP_PT_APP     204             /*!< APP  - Application defined */
+#define RTCP_PT_RTPFB   205             /*!< RTPFB - Generic RTP feedback RFC 4585 */
+#define RTCP_PT_PSFB    206             /*!< PSFB - Payload specific data  RFC 4585 */
+#define RTCP_PT_XR      207             /*!< XR   - Extended report - RFC3611 */
+#define RTCP_PT_AVB     208             /*!< ACB RTCP Packet */
+#define RTCP_PT_RSI     209             /*!< Receiver summary information */
+#define RTCP_PT_TOKEN   210             /*!< Port mapping, RFC 6284 */
+#define RTCP_PT_IDMS    211             /*!< IDMS Settings, RFC 7272 */
+
+/* RTCP AVPF - Payload specific feedback messages (PSFB) */
+#define RTCP_FMT_PLI	1		/*!< Picture Loss indication */
+#define RTCP_FMT_SLI	2		/*!< Slice loss indication */
+#define RTCP_FMT_RPSI	3		/*!< Reference Picture Selection Information */
+#define RTCP_FMT_FIR	4		/*!< Full Intra Request Command RFC 5104 */
+#define RTCP_FMT_TSTR	5		/*!< Temporal-Spatial Trade-off Request RFC 5104 */
+#define RTCP_FMT_TSTN	6		/*!< Temporal-Spatial Trade-off Notification RFC 5104 */
+#define RTCP_FMT_VBCM	7		/*!< Video back channel message RFC 5104 */
+#define RTCP_FMT_PSLEI	8		/*!< Payload-specific Third-Party Loss Early Indication RFC 6642 */
+/* 4-14 unassigned in RFC 4585 */
+#define RTCP_FMT_AFB	15		/* Application Layer Feedback message */
 
 #define RTP_MTU		1200
 #define DTMF_SAMPLE_RATE_MS    8 /*!< DTMF samples per millisecond */
@@ -4005,10 +4027,60 @@
 					    ast_sockaddr_stringify(&rtp->rtcp->them));
 			break;
 		case RTCP_PT_BYE:
-			if (rtcp_debug_test_addr(&addr))
+			if (rtcp_debug_test_addr(&addr)) {
 				ast_verbose("Received a BYE from %s\n",
 					    ast_sockaddr_stringify(&rtp->rtcp->them));
+			}
 			break;
+
+		case RTCP_PT_RTPFB:	/* RTP feedback */
+			int fmt = 0;
+			int version = 0;
+			int length = 0;
+			int pt;
+
+			
+
+			/* From RFC 4585, section 6.1
+ 			0                   1                   2                   3
+    			0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+   			+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+   			|V=2|P|   FMT   |       PT      |          length               |
+   			+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+   			|                  SSRC of packet sender                        |
+   			+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+   			|                  SSRC of media source                         |
+   			+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+   			:            Feedback Control Information (FCI)                 :
+   			:                                                               :
+			
+				V = 2 (RTP version 2)
+				P = Padding indication (included in length)
+				FMT = 5 bits
+				PT = 8 bits
+				Length = 16 bits length in 32-bit words minus one, including header and padding
+				SSRC for orignator
+				SSRC media src
+				FCI - specificed per specific FMTs (required)
+			
+			*/
+			version = ntohl(rtcpheader[i]);	/* Only need first two bits */
+			length = (version & 0xffff);
+			fmt = (version & 0xff0000) >> 16;
+			if (rtcp_debug_test_addr(&addr)) {
+				ast_verbose("Received a RTCP Feedback (205) from %s FMT %d Length %d\n",
+					    ast_sockaddr_stringify(&rtp->rtcp->them), fmt, length);
+			}
+			
+			break;
+
+		case RTCP_PT_PSFB:	/* Payload specific data */
+			if (rtcp_debug_test_addr(&addr)) {
+				ast_verbose("Received RTCP Payload specific data (206) from %s\n",
+					    ast_sockaddr_stringify(&rtp->rtcp->them));
+			}
+			break;
+
 		default:
 			ast_debug(1, "Unknown RTCP packet (pt=%d) received from %s\n",
 				  pt, ast_sockaddr_stringify(&rtp->rtcp->them));




More information about the svn-commits mailing list