* [Galene] About GCC in Galene
@ 2025-01-14 14:35 Juliusz Chroboczek
0 siblings, 0 replies; only message in thread
From: Juliusz Chroboczek @ 2025-01-14 14:35 UTC (permalink / raw)
To: galene
Hi,
Currently, Galene implements the older REMB encapsulation of the GCC
congestion control algorithm, and white it implements full GCC in the
Galene->client direction, it only implements a loss-based controller in
the client->Galene direction.
Since Pion claims to include a full implementation of GCC over the newer
TWCC encapsulation, I set out to implement it in Galene. In short, it's
not going well.
I started with porting Galene to the v4 branch of Pion. That went fine,
the results are in the pion-v4 branch, and are ready to be merged.
I then implemented support for RTX tracks, which are not strictly
necessary for GCC, but they cannot harm. I almost got there, then got
stuck on
https://github.com/pion/webrtc/issues/2994
Okay, no RTX for me then. I started looking at TWCC, at which point
I found out that the congestion control API in Pion is almost unbelievably
convoluted, it uses callbacks in order to return the results of
a synchronous operation. So I tried to fix that:
https://github.com/pion/interceptor/pull/297
https://github.com/pion/webrtc/pull/3002
https://github.com/pion/interceptor/pull/298
https://github.com/pion/webrtc/pull/3003
At this point, I implemented a branch of Galene with TWCC, only to find
that the GCC implementation in Pion doesn't work correctly:
https://github.com/pion/interceptor/issues/299
It looks like there are other issues with it:
https://github.com/pion/interceptor/issues/260
https://github.com/pion/interceptor/issues/271
Fortunately, there are some good people working on fixing that, so there
is some hope. In the meantime, I think I'm going to merge my port to
pion-v4, but keep my current homebrew implementation of GCC: it might use
an older packet format, and might be incomplete, but at least it works.
-- Juliusz
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-01-14 14:35 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-01-14 14:35 [Galene] About GCC in Galene Juliusz Chroboczek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox