mirror of
https://github.com/livekit/livekit.git
synced 2026-03-29 15:49:55 +00:00
When restoring state, reference layer could change before this change. That meant the time stamp base would change and cause jumps. But, the solution in this change to store the reference layer state and restoring it has a different issue. It is possible that the reference is layer 2 (HIGH) for example. On a migration when the down track has to re-attach and resume to a moved up stream track, it is possible that layer 2 is not published due to bandwidth constraint after publisher migrates to new node. In that case, the stream cannot be resumed as time stamp adjustment cannot be calculated. An option is to set referenceSpatialLayer always at layer 0 (LOW). But, that also has a couple of issues - Browsers like FF have shown issues with layer mapping. - Layer 0 is lowest bit rate. So, it will have RTCP at lower frequency. That could introduce a slight latency in stream start as we need RTCP sender report to calculate the time stamp. Open to ideas on how to handle this better.