-
-
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
Fix SeqManager #1032
Fix SeqManager #1032
Conversation
Fixes #1025. In essence, sequence number can wrap up and we must properly clean and consider dropped values in order to calculate new outputs. * Proper dropped items cleanup: - Clean the values from previous cycle. This is, values older than this->maxValue. * Properly consider dropped values in order to calculate the output: - Consider lower values than input and also higher values from previous cycle.
I've considered
|
@jcague, I see that you added |
Please add proper entry in CHANGELOG (we always forget it). |
Let me merge and release, so I can make similar fixes in other links in CHANGELOG. |
Released in mediasoup node 3.11.16 |
@jmillan I think I didn't add Offset(), I just updated it, but maybe I'm wrong. I did not realize it was not used. Also, removing Delta() is ok, as the tests keep passing. Thanks! |
After applying this change, when running with limited networking I got a lot of warnings like:
Packet loss rate increases up to 100% after that. |
Those logs make sense if received packets are exactly as the logs describe. The fact that those logs are printed doesn't mean that there is a bug somewhere.
Perhaps we should increase the size if the retransmission buffer (number of items that can be stored). It's currently hardcoded to 2500, see https://github.com/versatica/mediasoup/blob/v3/worker/src/RTC/RtpStreamSend.cpp#L61. In order to confirm this, the only way is by calling |
Anyway I'll push a change right now in v3 branch increasing |
Done. |
It is still happening:
|
Please do the debug I said in my previous comment. And if a bug is found let's please have a new issue ticket for it. |
It happens what reported in the previous log:
|
Can we have a separate issue for this please? |
Fixes #1025.
In essence, sequence number can wrap up and we must properly clean and consider dropped values in order to calculate new outputs.
Proper dropped items cleanup:
Properly consider dropped values in order to calculate the output: