Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Backport changes to congestion control from libwebrtc #922

Draft
wants to merge 81 commits into
base: v3
Choose a base branch
from

Commits on Oct 10, 2022

  1. Initial commit, backport main component.

    Eugene Voityuk committed Oct 10, 2022
    Configuration menu
    Copy the full SHA
    fa10437 View commit details
    Browse the repository at this point in the history
  2. Initial commit, backport main component.

    Eugene Voityuk committed Oct 10, 2022
    Configuration menu
    Copy the full SHA
    44088eb View commit details
    Browse the repository at this point in the history

Commits on Nov 14, 2022

  1. First failed attempt to backport Pacer, save to preserve.

    Eugene Voityuk committed Nov 14, 2022
    Configuration menu
    Copy the full SHA
    f01bd51 View commit details
    Browse the repository at this point in the history
  2. Revert "First failed attempt to backport Pacer, save to preserve."

    This reverts commit f01bd51.
    Eugene Voityuk committed Nov 14, 2022
    Configuration menu
    Copy the full SHA
    fe738e3 View commit details
    Browse the repository at this point in the history
  3. Enable Loss v2

    Eugene Voityuk committed Nov 14, 2022
    Configuration menu
    Copy the full SHA
    a43e06e View commit details
    Browse the repository at this point in the history

Commits on Nov 16, 2022

  1. Merge branch 'v3' into bwe_backport

    # Conflicts:
    #	worker/deps/libwebrtc/libwebrtc/modules/bitrate_controller/send_side_bandwidth_estimation.cc
    sarumjanuch committed Nov 16, 2022
    Configuration menu
    Copy the full SHA
    60a446b View commit details
    Browse the repository at this point in the history

Commits on Nov 17, 2022

  1. Sync with latest Loss v2 changes.

    Eugene Voityuk committed Nov 17, 2022
    Configuration menu
    Copy the full SHA
    f498894 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f5ec63d View commit details
    Browse the repository at this point in the history

Commits on Nov 22, 2022

  1. Sync with latest Loss v2 changes. Fix Periodic ALR when we suddenly h…

    …ave no traffic due to low reported estimated bitrate. Change min bitrate constant.
    Eugene Voityuk committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    676b92e View commit details
    Browse the repository at this point in the history

Commits on Nov 24, 2022

  1. Revert "Sync with latest Loss v2 changes. Fix Periodic ALR when we su…

    …ddenly have no traffic due to low reported estimated bitrate. Change min bitrate constant."
    
    This reverts commit 676b92e.
    Eugene Voityuk committed Nov 24, 2022
    Configuration menu
    Copy the full SHA
    011731b View commit details
    Browse the repository at this point in the history
  2. Revert "Sync with latest Loss v2 changes."

    This reverts commit f498894.
    Eugene Voityuk committed Nov 24, 2022
    Configuration menu
    Copy the full SHA
    c8c6944 View commit details
    Browse the repository at this point in the history
  3. Fix instant loss calculation when sending at high bitrates.

    Eugene Voityuk committed Nov 24, 2022
    Configuration menu
    Copy the full SHA
    45b5d5c View commit details
    Browse the repository at this point in the history
  4. Fix issue when no periodic ALR probing when sudden drop in BW, and th…

    …erefore stuck at low bitrate.
    Eugene Voityuk committed Nov 24, 2022
    Configuration menu
    Copy the full SHA
    a468c21 View commit details
    Browse the repository at this point in the history
  5. Increase InstantUpperBoundLossOffset slightly, because we don't have …

    …Pacer, and therfore we should allow bigger bursts.
    Eugene Voityuk committed Nov 24, 2022
    Configuration menu
    Copy the full SHA
    6e6f640 View commit details
    Browse the repository at this point in the history
  6. Increase InstantUpperBoundLossOffset slightly, because we don't have …

    …Pacer, and therfore we should allow bigger bursts.
    Eugene Voityuk committed Nov 24, 2022
    Configuration menu
    Copy the full SHA
    2dc6ad7 View commit details
    Browse the repository at this point in the history

Commits on Nov 28, 2022

  1. Increase InstantUpperBoundLossOffset. Fix issue when cc colpases and …

    …unable to recover. Fix instant loss calculation at high bitrates. Increase ObservationDurationLowerBound.
    Eugene Voityuk committed Nov 28, 2022
    Configuration menu
    Copy the full SHA
    e7ee174 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'v3' into bwe_backport

    Eugene Voityuk committed Nov 28, 2022
    Configuration menu
    Copy the full SHA
    ad21541 View commit details
    Browse the repository at this point in the history
  3. clean

    Eugene Voityuk committed Nov 28, 2022
    Configuration menu
    Copy the full SHA
    e4b7bf8 View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2022

  1. Add BW balance multiplication to have a meaningful backoff.

    Eugene Voityuk committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    1647d07 View commit details
    Browse the repository at this point in the history
  2. Fix BW balance calculation. Adjust loss settings.

    Eugene Voityuk committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    07bea0f View commit details
    Browse the repository at this point in the history
  3. Revert to default coefficients

    Eugene Voityuk committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    f613ad2 View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2022

  1. Configuration menu
    Copy the full SHA
    4c0202f View commit details
    Browse the repository at this point in the history
  2. Fix default coefficients

    Eugene Voityuk committed Dec 1, 2022
    Configuration menu
    Copy the full SHA
    c4b007c View commit details
    Browse the repository at this point in the history

Commits on Dec 2, 2022

  1. Use sending rate instead of estimate in BW balance calculation, when …

    …sending at high rates.
    Eugene Voityuk committed Dec 2, 2022
    Configuration menu
    Copy the full SHA
    2c4994f View commit details
    Browse the repository at this point in the history
  2. Merge remote-tracking branch 'origin/v3' into bwe_backport

    # Conflicts:
    #	worker/src/DepLibWebRTC.cpp
    Eugene Voityuk committed Dec 2, 2022
    Configuration menu
    Copy the full SHA
    036b9fd View commit details
    Browse the repository at this point in the history
  3. Update default libwebrtc fieldTrial string.

    Eugene Voityuk committed Dec 2, 2022
    1 Configuration menu
    Copy the full SHA
    e545675 View commit details
    Browse the repository at this point in the history
  4. format

    Eugene Voityuk committed Dec 2, 2022
    Configuration menu
    Copy the full SHA
    c5bfc17 View commit details
    Browse the repository at this point in the history
  5. Fix testing change.

    Eugene Voityuk committed Dec 2, 2022
    Configuration menu
    Copy the full SHA
    b9a1161 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    0d99863 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    619361a View commit details
    Browse the repository at this point in the history

Commits on Dec 5, 2022

  1. Fix log

    Eugene Voityuk committed Dec 5, 2022
    Configuration menu
    Copy the full SHA
    252d568 View commit details
    Browse the repository at this point in the history
  2. Backport latest changes from libwebrtc.

    Eugene Voityuk committed Dec 5, 2022
    Configuration menu
    Copy the full SHA
    0c7eef0 View commit details
    Browse the repository at this point in the history
  3. Backport latest changes from libwebrtc.

    Eugene Voityuk committed Dec 5, 2022
    Configuration menu
    Copy the full SHA
    66deb26 View commit details
    Browse the repository at this point in the history
  4. Backport latest changes from libwebrtc.

    Eugene Voityuk committed Dec 5, 2022
    Configuration menu
    Copy the full SHA
    23a3204 View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2022

  1. Backport more changes. Rework trend-line estimator to produce R-squar…

    …ed in conjunction with slope, force to hold bitrate if we have big deviation of estimated values vs real values. Force overuse if R-squared < 0.1. Switch to TWCC feedback, ignore RR.
    Eugene Voityuk committed Dec 7, 2022
    Configuration menu
    Copy the full SHA
    beb4d1d View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2022

  1. Adjust settings in delay bwe, add debounce in loss estimator with bac…

    …koff
    Eugene Voityuk committed Dec 8, 2022
    Configuration menu
    Copy the full SHA
    e001c75 View commit details
    Browse the repository at this point in the history

Commits on Dec 13, 2022

  1. Debounce instant loss, adjust default filed trial string

    Eugene Voityuk committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    b988f54 View commit details
    Browse the repository at this point in the history
  2. try fix maxlen

    Eugene Voityuk committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    64c00cb View commit details
    Browse the repository at this point in the history
  3. Merge remote-tracking branch 'origin/v3' into bwe_backport

    Eugene Voityuk committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    18f012c View commit details
    Browse the repository at this point in the history
  4. Try update to C++14

    Eugene Voityuk committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    71f9459 View commit details
    Browse the repository at this point in the history
  5. Fix Lint for long field trial string

    Eugene Voityuk committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    9a61385 View commit details
    Browse the repository at this point in the history
  6. Add EventEmitter migrate to c++14

    Eugene Voityuk committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    a71c289 View commit details
    Browse the repository at this point in the history
  7. Fix maxlen for fieldtrial string commnet

    Eugene Voityuk committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    86a423f View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    af18922 View commit details
    Browse the repository at this point in the history
  9. Fix maxlen for field trial string comment

    Eugene Voityuk committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    965a5c1 View commit details
    Browse the repository at this point in the history
  10. Merge remote-tracking branch 'origin/bwe_backport' into bwe_backport

    # Conflicts:
    #	node/src/Worker.ts
    Eugene Voityuk committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    42f1bda View commit details
    Browse the repository at this point in the history
  11. Fix maxlen for field trial string comment

    Eugene Voityuk committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    96ddaa4 View commit details
    Browse the repository at this point in the history
  12. Fix EventEmitter

    Eugene Voityuk committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    b2daa7f View commit details
    Browse the repository at this point in the history
  13. Merge remote-tracking branch 'origin/c++14_EventEmitter' into c++14_E…

    …ventEmitter
    
    # Conflicts:
    #	worker/deps/libwebrtc/libwebrtc/modules/bitrate_controller/loss_based_bwe_v2.h
    Eugene Voityuk committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    db290fc View commit details
    Browse the repository at this point in the history
  14. Merge branch 'c++14_EventEmitter' into bwe_backport

    Eugene Voityuk committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    064d26e View commit details
    Browse the repository at this point in the history
  15. Remove old event emitter

    Eugene Voityuk committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    e76b9fd View commit details
    Browse the repository at this point in the history

Commits on Dec 14, 2022

  1. test c++17

    Eugene Voityuk committed Dec 14, 2022
    Configuration menu
    Copy the full SHA
    e261944 View commit details
    Browse the repository at this point in the history
  2. remain c++14

    Eugene Voityuk committed Dec 14, 2022
    Configuration menu
    Copy the full SHA
    becaef1 View commit details
    Browse the repository at this point in the history

Commits on Dec 19, 2022

  1. Revert to remain on C++ 11.

    Eugene Voityuk committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    4b86b18 View commit details
    Browse the repository at this point in the history
  2. Cosmetic constants.

    Eugene Voityuk committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    e1333f8 View commit details
    Browse the repository at this point in the history
  3. Add comment that explains what we are doing with R^2

    Eugene Voityuk committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    6aa0b03 View commit details
    Browse the repository at this point in the history
  4. Get rid of EventEmitter.

    Eugene Voityuk committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    09a4b4c View commit details
    Browse the repository at this point in the history
  5. More C++ 14 cleanup.

    Eugene Voityuk committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    47657fb View commit details
    Browse the repository at this point in the history

Commits on Dec 23, 2022

  1. Backport most recent libwebrtc changes, also fix some issues iwth cac…

    …hing of instant loss and casting.
    Eugene Voityuk committed Dec 23, 2022
    Configuration menu
    Copy the full SHA
    fc46a65 View commit details
    Browse the repository at this point in the history
  2. fix std -> absl

    Eugene Voityuk committed Dec 23, 2022
    Configuration menu
    Copy the full SHA
    a040b27 View commit details
    Browse the repository at this point in the history

Commits on Dec 26, 2022

  1. Be more resilient to bursts fixes here and there.

    Eugene Voityuk committed Dec 26, 2022
    Configuration menu
    Copy the full SHA
    9f4093c View commit details
    Browse the repository at this point in the history
  2. Be more resilient to bursts fixes here and there.

    Eugene Voityuk committed Dec 26, 2022
    Configuration menu
    Copy the full SHA
    91b6923 View commit details
    Browse the repository at this point in the history

Commits on Jan 2, 2023

  1. Reduce trendline window size to faster react to changes, push only va…

    …lues from positive slope to r_squared_histogram, cap loss limited bitrate at first instant loss, adjust some coefficients, enable trendline integration into loss estimator back.
    Eugene Voityuk committed Jan 2, 2023
    Configuration menu
    Copy the full SHA
    a61ea7d View commit details
    Browse the repository at this point in the history
  2. Adjust coefficients, enable robust estimator as acknowledged estimato…

    …r by defaullt, increase overuse counter, pass target bitrate instead of acknowledged to delay based estimator, to have proper backoff
    Eugene Voityuk committed Jan 2, 2023
    Configuration menu
    Copy the full SHA
    97d61ce View commit details
    Browse the repository at this point in the history
  3. Adjust coefficients more

    Eugene Voityuk committed Jan 2, 2023
    Configuration menu
    Copy the full SHA
    4c0e7e1 View commit details
    Browse the repository at this point in the history

Commits on Jan 5, 2023

  1. Refactor instant loss debounce mechanism. Add overuse counter for R s…

    …quared mechanism in trendline estimator. Update default field trial string.
    Eugene Voityuk committed Jan 5, 2023
    Configuration menu
    Copy the full SHA
    ec9be0d View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2023

  1. Configuration menu
    Copy the full SHA
    a175c36 View commit details
    Browse the repository at this point in the history
  2. Adjust coefficients

    Eugene Voityuk committed Jan 9, 2023
    Configuration menu
    Copy the full SHA
    ff76084 View commit details
    Browse the repository at this point in the history
  3. Merge remote-tracking branch 'origin/v3' into bwe_backport

    Eugene Voityuk committed Jan 9, 2023
    Configuration menu
    Copy the full SHA
    3c2ff4b View commit details
    Browse the repository at this point in the history
  4. Limit probation rate by loss estimate rate, and don't probe when dela…

    …y increasing
    Eugene Voityuk committed Jan 9, 2023
    Configuration menu
    Copy the full SHA
    545a910 View commit details
    Browse the repository at this point in the history

Commits on Jan 10, 2023

  1. return smooth coefficient to 0.9, increase upper bound of R squared l…

    …imit and decrease lower bound a bit to be able to reach higher bitrates.
    Eugene Voityuk committed Jan 10, 2023
    Configuration menu
    Copy the full SHA
    2594fd7 View commit details
    Browse the repository at this point in the history
  2. Pass inner estimators states to mediasoup land.

    Eugene Voityuk committed Jan 10, 2023
    Configuration menu
    Copy the full SHA
    4081d00 View commit details
    Browse the repository at this point in the history
  3. format

    Eugene Voityuk committed Jan 10, 2023
    Configuration menu
    Copy the full SHA
    eef19db View commit details
    Browse the repository at this point in the history
  4. Add probe bitrate estimator to stats.

    Eugene Voityuk committed Jan 10, 2023
    Configuration menu
    Copy the full SHA
    eac1e6f View commit details
    Browse the repository at this point in the history

Commits on Jan 11, 2023

  1. Pass stats to nodejs land via trace event bweStats

    Eugene Voityuk committed Jan 11, 2023
    Configuration menu
    Copy the full SHA
    05cfade View commit details
    Browse the repository at this point in the history
  2. Refactor. Add missing fields.

    Eugene Voityuk committed Jan 11, 2023
    Configuration menu
    Copy the full SHA
    f5acf13 View commit details
    Browse the repository at this point in the history
  3. Add typing for bweStats info, add sending rate field.

    Eugene Voityuk committed Jan 11, 2023
    Configuration menu
    Copy the full SHA
    81f724d View commit details
    Browse the repository at this point in the history
  4. Add dot in the end of comment.

    Eugene Voityuk committed Jan 11, 2023
    Configuration menu
    Copy the full SHA
    edb3af6 View commit details
    Browse the repository at this point in the history
  5. Make linter happy

    Eugene Voityuk committed Jan 11, 2023
    Configuration menu
    Copy the full SHA
    8c12a70 View commit details
    Browse the repository at this point in the history

Commits on Jan 24, 2023

  1. Fixes here and there, try to recover bitrate when recovered from inst…

    …ant loss. Extract rtx bitrate from available outgoing bitrate when distributing.
    Eugene Voityuk committed Jan 24, 2023
    Configuration menu
    Copy the full SHA
    16f67a8 View commit details
    Browse the repository at this point in the history

Commits on Mar 29, 2023

  1. Configuration menu
    Copy the full SHA
    148a20b View commit details
    Browse the repository at this point in the history