[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