Glimesh / janus-ftl-plugin

A plugin for the Janus WebRTC gateway to enable relaying of audio/video streams utilizing Mixer's FTL (Faster-Than-Light) protocol.
https://hayden.fyi/posts/2020-08-03-Faster-Than-Light-protocol-engineering-notes.html
GNU Affero General Public License v3.0
46 stars 11 forks source link

🙉 Enable NACKs behind a feature toggle #127

Closed danstiner closed 3 years ago

danstiner commented 3 years ago

Meant to be a minimal set of changes to bring back the NACK. Further refactoring can come later.

Tested on the homelab without/with feature enabled. Enabling this makes a substantial improvement in all the simulated packet loss scenarios I've done.

Fixes #95

danstiner commented 3 years ago

I'm a bit torn how far to go with adding tests to this PR, I think to really make the logic testable it should be pulled into more specialized buffer/nack tracking classes.

Maybe before merging I should add at least one happy path test of relaying packets, and then as we refactor this we can add more tests.