Write our own bandwidth estimator
UPDATE: Work in progress
Instead of depending in libwebrtc and its GCC implementation, we may move to BBR. However, we should then also replace the libwebrtc "probation" logic with our own one.
Spec and docs about BBR:
Or NADA: https://tools.ietf.org/html/rfc8698
Chrome removed the BBR experiment.
Cleanup: Removes unused BBR congestion controller. https://webrtc.googlesource.com/src.git/+/5c356bb9b159858d5dd6507773d3060202056b99
Thanks, we are not doing BBR anyway.
Do you plan to implement NADA or something else? Is there something to track?
We'll update when there is progress.
SCReAM (Self-Clocked Rate Adaptation for Multimedia) continues to be actively developed at https://github.com/EricssonResearch/scream
Why decide to write another bandwidth estimator? Any problem of the libwebrtc implementation?
I am not involved with developing Mediasoup, but my guess is that libwebrtc is a painful dependency due to its over-the-fence development style by Google.
libwebrtc is a painful dependency due to its over-the-fence development style by Google.
Basically, yes.
@jonassmedegaard @jmillan Thanks very much for the quick answer! But..if so, how about other transport related parts of libwebrtc? Such as re-transmission, FEC, etc. Will it be sufficient to remove Google dependency once the new congestion controller implemented?
We just use libwebrtc dep for BWE.
So how about the ARQ, FEC strategies? Does the mediasoup project contain them already? Any docs? How's the effects in weak network connections compare with libwebrtc implementation? Thanks!
Please, questions and discussions in the forum, not here.
Will do. Sorry.
@ibc any update on this? It would be very nice to have this implemented as an interface. Any pointer to a branch where this is in the working? Thanks!
No much updates yes, sorry.
@ldecicco,
We could have a discussion about this topic.
We sure can!
Finally libwebrtc is being updated and our friend Eugene is tuning it, so in the short/medium term we are not gonna complete this task. Let's close it.