-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
sarumjanuch
wants to merge
81
commits into
versatica:v3
Choose a base branch
from
sarumjanuch:bwe_backport
base: v3
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+4,838
−1,306
Draft
Changes from 28 commits
Commits
Show all changes
81 commits
Select commit
Hold shift + click to select a range
fa10437
Initial commit, backport main component.
44088eb
Initial commit, backport main component.
f01bd51
First failed attempt to backport Pacer, save to preserve.
fe738e3
Revert "First failed attempt to backport Pacer, save to preserve."
a43e06e
Enable Loss v2
60a446b
Merge branch 'v3' into bwe_backport
sarumjanuch f498894
Sync with latest Loss v2 changes.
f5ec63d
Merge remote-tracking branch 'origin/bwe_backport' into bwe_backport
676b92e
Sync with latest Loss v2 changes. Fix Periodic ALR when we suddenly h…
011731b
Revert "Sync with latest Loss v2 changes. Fix Periodic ALR when we su…
c8c6944
Revert "Sync with latest Loss v2 changes."
45b5d5c
Fix instant loss calculation when sending at high bitrates.
a468c21
Fix issue when no periodic ALR probing when sudden drop in BW, and th…
6e6f640
Increase InstantUpperBoundLossOffset slightly, because we don't have …
2dc6ad7
Increase InstantUpperBoundLossOffset slightly, because we don't have …
e7ee174
Increase InstantUpperBoundLossOffset. Fix issue when cc colpases and …
ad21541
Merge branch 'v3' into bwe_backport
e4b7bf8
clean
1647d07
Add BW balance multiplication to have a meaningful backoff.
07bea0f
Fix BW balance calculation. Adjust loss settings.
f613ad2
Revert to default coefficients
4c0202f
Apply suggestions from code review
ibc c4b007c
Fix default coefficients
2c4994f
Use sending rate instead of estimate in BW balance calculation, when …
036b9fd
Merge remote-tracking branch 'origin/v3' into bwe_backport
e545675
Update default libwebrtc fieldTrial string.
c5bfc17
format
b9a1161
Fix testing change.
0d99863
`Backport changes from aimd rate control, plus minor fixes.
619361a
`Backport changes from aimd rate control, plus minor fixes.
252d568
Fix log
0c7eef0
Backport latest changes from libwebrtc.
66deb26
Backport latest changes from libwebrtc.
23a3204
Backport latest changes from libwebrtc.
beb4d1d
Backport more changes. Rework trend-line estimator to produce R-squar…
e001c75
Adjust settings in delay bwe, add debounce in loss estimator with bac…
b988f54
Debounce instant loss, adjust default filed trial string
64c00cb
try fix maxlen
18f012c
Merge remote-tracking branch 'origin/v3' into bwe_backport
71f9459
Try update to C++14
9a61385
Fix Lint for long field trial string
a71c289
Add EventEmitter migrate to c++14
86a423f
Fix maxlen for fieldtrial string commnet
af18922
Merge remote-tracking branch 'origin/bwe_backport' into bwe_backport
965a5c1
Fix maxlen for field trial string comment
42f1bda
Merge remote-tracking branch 'origin/bwe_backport' into bwe_backport
96ddaa4
Fix maxlen for field trial string comment
b2daa7f
Fix EventEmitter
db290fc
Merge remote-tracking branch 'origin/c++14_EventEmitter' into c++14_E…
064d26e
Merge branch 'c++14_EventEmitter' into bwe_backport
e76b9fd
Remove old event emitter
e261944
test c++17
becaef1
remain c++14
4b86b18
Revert to remain on C++ 11.
e1333f8
Cosmetic constants.
6aa0b03
Add comment that explains what we are doing with R^2
09a4b4c
Get rid of EventEmitter.
47657fb
More C++ 14 cleanup.
fc46a65
Backport most recent libwebrtc changes, also fix some issues iwth cac…
a040b27
fix std -> absl
9f4093c
Be more resilient to bursts fixes here and there.
91b6923
Be more resilient to bursts fixes here and there.
a61ea7d
Reduce trendline window size to faster react to changes, push only va…
97d61ce
Adjust coefficients, enable robust estimator as acknowledged estimato…
4c0e7e1
Adjust coefficients more
ec9be0d
Refactor instant loss debounce mechanism. Add overuse counter for R s…
a175c36
Adjust coefficients, create separate counter for R squared overuse
ff76084
Adjust coefficients
3c2ff4b
Merge remote-tracking branch 'origin/v3' into bwe_backport
545a910
Limit probation rate by loss estimate rate, and don't probe when dela…
2594fd7
return smooth coefficient to 0.9, increase upper bound of R squared l…
4081d00
Pass inner estimators states to mediasoup land.
eef19db
format
eac1e6f
Add probe bitrate estimator to stats.
05cfade
Pass stats to nodejs land via trace event bweStats
f5acf13
Refactor. Add missing fields.
81f724d
Add typing for bweStats info, add sending rate field.
edb3af6
Add dot in the end of comment.
8c12a70
Make linter happy
16f67a8
Fixes here and there, try to recover bitrate when recovered from inst…
148a20b
Merge branch 'v3' into bwe_backport
ibc File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how the RTCP feedback calculated in mediaosup? If I remember RFC3550 calculate based on assumed bw. If we calculate based on that assumption, and the bw suddenly drop because of congestion collapse than the interval will increase massively which makes this loss_report_valid false. at this moment the interpretation collides with the behaviour of the rest of the code, so right now it does not cause any problem and only beauty suggestion is to add a debug log if loss_report_valid is false, so if we search something related to it in the future we might have a chance to find it easier.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is old attempt of loss based BW estimate. It is disabled by default and is not used. Can be turned on by field trial. So we have:
I have tested it and it was producing bad values.
The one we are trying to use. It does not use RR RTC feedback. I relies only on TWCC RTCP feedback. When enabled, default estimator is ignored.
- Default Loss estimation:
Too simple to be used, as it odes not differentiate between random and burst, and has not very meaningful boundaries.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay, so I am lost in the code a bit. Does this mean it won't have any effect because another estimator is used after this PR? In this case should this code marked somehow as deprecated?