[asterisk-commits] oej: branch oej/chocolate-video-congestion-11 r433419 - in /team/oej/chocolat...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Mar 25 11:27:00 CDT 2015


Author: oej
Date: Wed Mar 25 11:26:58 2015
New Revision: 433419

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=433419
Log:
Building new stuff, adding notes, doing some research

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

Modified: team/oej/chocolate-video-congestion-11/README.chocolate
URL: http://svnview.digium.com/svn/asterisk/team/oej/chocolate-video-congestion-11/README.chocolate?view=diff&rev=433419&r1=433418&r2=433419
==============================================================================
--- team/oej/chocolate-video-congestion-11/README.chocolate (original)
+++ team/oej/chocolate-video-congestion-11/README.chocolate Wed Mar 25 11:26:58 2015
@@ -23,9 +23,14 @@
 * Implement infrastructure
   - Parse feedback message in RTCP
   - ENUMs for feedback messages
+	- Done
 * Add SDP parameters for rtcp-fb
+	- Done
 * Add sip.conf options for rtcp-fb enabling
+	- Done
 * Add test command (CLI or something) to force sending backoff
+* Add bitrate estimator 
+	- See notes below. What's the best way?
 * Send feedback based on RTCP
 * Forward incoming feedback across bridge and send out on other side
   for optimal video pass through
@@ -52,6 +57,7 @@
 	https://tools.ietf.org/html/draft-alvestrand-rmcat-congestion-02
 * RTP - RFC 3550
 	https://tools.ietf.org/html/rfc3550
+
 SDP example:
 ------------
 Chrome:
@@ -69,3 +75,33 @@
 	a=rtcp-fb:120 ccm fir
 
 No "goog-remb" support
+
+Jitsi meet supports goog-remb
+
+Definitions from RFC 5104
+=========================
+Total media bit rate:
+          The total bits per second transferred in a media stream,
+          measured at an observer-selected protocol layer and averaged
+          over a reasonable timescale, the length of which depends on
+          the application.  In general, a media sender and a media
+          receiver will observe different total media bit rates for the
+          same stream, first because they may have selected different
+          reference protocol layers, and second, because of changes in
+          per-packet overhead along the transmission path.  The goal
+          with bit rate averaging is to be able to ignore any burstiness
+          on very short timescales (e.g., below 100 ms) introduced by
+          scheduling or link layer packetization effects.
+
+   Maximum total media bit rate:
+          The upper limit on total media bit rate for a given media
+          stream at a particular receiver and for its selected protocol
+          layer.  Note that this value cannot be measured on the
+          received media stream.  Instead, it needs to be calculated or
+          determined through other means, such as quality of service
+          (QoS) negotiations or local resource limitations.  Also note
+          that this value is an average (on a timescale that is
+          reasonable for the application) and that it may be different
+          from the instantaneous bit rate seen by packets in the media
+          stream.
+

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=433419&r1=433418&r2=433419
==============================================================================
--- team/oej/chocolate-video-congestion-11/res/res_rtp_asterisk.c (original)
+++ team/oej/chocolate-video-congestion-11/res/res_rtp_asterisk.c Wed Mar 25 11:26:58 2015
@@ -2867,19 +2867,17 @@
 /*! \brief Send RTCP Feedback message (RTP payload specific feedback  / AVPF profile) 
  *  
  */
-static int ast_rtcp_write_fb(struct ast_rtp_instance *instance, int type)
+static int ast_rtcp_write_fb(struct ast_rtp_instance *instance)
 {
 	struct ast_rtp *rtp = ast_rtp_instance_get_data(instance);
 	int res;
 	int len = 0;
-	unsigned int now_lsw;
-	unsigned int now_msw;
 	unsigned int *rtcpheader;
 	char bdata[512];
 	int rate = rtp_get_rate(&rtp->f.subclass.format);
 	int ice;
-	char brexp;
-	int brmantissa;
+	char brexp = 0;
+	int brmantissa = 0;
 	struct ast_sockaddr remote_address = { {0,} };
 
 	if (!rtp || !rtp->rtcp)
@@ -2914,7 +2912,7 @@
 
 	rtcpheader = (unsigned int *)bdata;
 	rtcpheader[1] = htonl(rtp->ssrc);               /* Our SSRC */
-	rtcpheader[2] = htonl(rtp->themssrc);
+	rtcpheader[2] = 0;				/* Set to zero in the draft */
 	rtcpheader[3] = htonl(0x52 << 24 | 0x45 << 16 | 0x4d << 8 | 0x42); /* R E M B */
 	rtcpheader[4] = htonl(1 << 24 ); 	/* BR exp and mantissa goes here as well */
 	len += 40;




More information about the asterisk-commits mailing list