Better layer suspension


Jitsi meet has the enableLayerSuspension option, which suspend higher simulcast layers sending by clients to the bridge, when they not used by another clients.

It allows participants to save a lot of compute power and network bandwidth. But actually it almost never works. Why?


lib-jitsi-meet suspend sending layers when videobridge signals that local participant is not selected by another participants.

When any participant use grid layout - his Jitsi Meet UI selects all participants and set max receive video quality constrants. In order for enableLayerSuspension able to work - all participants should zoom single another participant.


I think that layer suspension should work like this:

One participant should suspend layer if it not actually used by any another participant

Videobridge knows which layers of each participant is using, he can send this info to each client. Clients will suspend unused layers.

In order when all participants using grid layout (most cases I guess) - they will encode and send only middle layer. High layers will encode only when anybody zoom you. In conferences with huge ammout of participants - UI will cut participants list, and they will suspend all layers.

I thinks that it will be a great impact of Jitsi Meet perfomance