View Source Membrane.RTP.TWCCSender.CongestionControl (Membrane RTP plugin v0.12.0)
The module implements Google congestion control algorithm.
Link to this section Summary
Link to this section Types
@type t() :: %Membrane.RTP.TWCCSender.CongestionControl{ a_hat: float(), as_hat: float(), del_var_th: float(), e: float(), last_bandwidth_increase_ts: Membrane.Time.t(), last_receive_rates: [float()], m_hat: float(), overuse_start_ts: Membrane.Time.t() | nil, packet_received_interval_end: Membrane.Time.t() | nil, packet_received_interval_start: Membrane.Time.t() | nil, packet_received_sizes: non_neg_integer(), r_hats: [float()], signal_time_threshold: term(), state: :increase | :decrease | :hold, target_receive_interval: term(), underuse_start_ts: Membrane.Time.t() | nil, var_v_hat: float() }
Link to this section Functions
Link to this function
update(cc, reference_time, receive_deltas, send_deltas, packet_sizes, rtt)
View Source@spec update( t(), Membrane.Time.t(), [Membrane.Time.t() | :not_received], [Membrane.Time.t()], [pos_integer()], Membrane.Time.t() ) :: t()