Usage of transport-wide congestion control (twcc)

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Usage of transport-wide congestion control (twcc)

GStreamer-devel mailing list
Hi,

I noticed that with the 1.18 release it is possible to get the transport-wide congestion control (twcc) using webrtcbin. As far as I can understand, this means that Chrome will send a RTP header extension with a transport-wide sequence number to GStreamer, and GStreamer will send an RTCP feedback packet of type GST_RTCP_RTPFB_TYPE_TWCC=15 with FCI content like packet status chunks and receive delta. Then it should be possible to get the TWCC stats in GStreamer with some code like this:

GstElement* rtpbin = gst_bin_get_by_name(GST_BIN(webrtcbin), "rtpbin");
g_signal_emit_by_name(rtpbin, "get-session", 0, &session);
g_object_get(G_OBJECT(session), "twcc-stats", &twcstats, NULL);

My question: Is it only possible to make this work with Chrome so far, or would this also work with a client that uses the native WebRTC code (e.g. Android) ? My goal is to stream to an Android app from a server application using GStreamer webrtcbin and get the twcc-stats on the sender-side so that I can apply some bandwidth adaptation logic according to congestion level and jitter. It seems that the receive bitrate statistic from from twcc-stats is a good candidate for early detection of congestion.

Thanks.
Serhan
 
-- 
  Serhan Gül



_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel