rtpgccbwe

Implements the Google Congestion Control algorithm.

This element should always be placed right before a rtpsession and will only work when twcc is enabled as the bandwidth estimation relies on it.

This element implements the pacing as describe in the spec by running its own streaming thread on its srcpad. It implements the mathematic as closely to the specs as possible and sets the estimated-bitrate property each time a new estimate is produced. User should connect to the rtpgccbwe::notify::estimated-bitrate signal to make the encoders target that new estimated bitrate (the overall target bitrate of the potentially multiple encoders should match that target bitrate, the application is responsible for determining what bitrate to give to each encode)

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──rtpgccbwe

Factory details

Authors: – Thibault Saunier

Classification:Network/WebRTC/RTP/Filter

Rank – none

Plugin – rsrtp

Package – gst-plugin-rtp

Pad Templates

sink

application/x-rtp:

Presencealways

Directionsink

Object typeGstPad


src

application/x-rtp:

Presencealways

Directionsrc

Object typeGstPad


Properties

estimated-bitrate

“estimated-bitrate” guint

Currently estimated bitrate. Can be set before starting the element to configure the starting bitrate, in which case the encoder should also use it as target bitrate

Flags : Read / Write

Default value : 2048000


estimator

“estimator” Rtp-gccbw-eestimator *

How to calculate the delay estimate that will be compared against the dynamic delay threshold.

Flags : Read / Write

Default value : kalman (0)


max-bitrate

“max-bitrate” guint

Maximum bitrate to use (in bit/sec) when computing it through the bandwidth estimation algorithm

Flags : Read / Write

Default value : 8192000


min-bitrate

“min-bitrate” guint

Minimal bitrate to use (in bit/sec) when computing it through the bandwidth estimation algorithm

Flags : Read / Write

Default value : 1000


Named constants

Rtp-gccbw-eestimator

Members

kalman (0) – Use Kalman filter
linear-regression (1) – Use linear regression slope

The results of the search are