webrtcbin: Add a signal to plug bandwidth estimator elements
authorThibault Saunier <tsaunier@igalia.com>
Sat, 4 Jun 2022 22:07:16 +0000 (18:07 -0400)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Tue, 12 Jul 2022 20:40:55 +0000 (20:40 +0000)
commit073df3d82094be9c8ed397f9e96146d9a205d0f9
treea8ed9225a2825ef050d721fd613bca5589b696cf
parentf95ca93d255848be76808155852f263d976af9c8
webrtcbin: Add a signal to plug bandwidth estimator elements

We need GStreamer elements to do the bandwidth estimation as this way
they can also control the pacing of the transmission flow as specified
 in the [GCC] algorithm for example.

Bandwidth estimator element are placed right before the "RTPSession" as
an "rtp-aux-sender" element. This way they can use the "Transport-wide
Congestion Control" RTCP feedback messages through the "RTPTwcc" custom
events that are sent by the rtpsession.

Applications are responsible to react to the bandwidth estimator element
and set the encoder target bitrate etc... which means that we can not
pass an estimator as an element factory, so a signal as been chosen
instead.

[GCC]: https://datatracker.ietf.org/doc/html/draft-ietf-rmcat-gcc-02

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2562>
subprojects/gst-plugins-bad/docs/plugins/gst_plugins_cache.json
subprojects/gst-plugins-bad/ext/webrtc/gstwebrtcbin.c