mirror of
https://github.com/livekit/livekit.git
synced 2026-10-15 17:40:16 +00:00
libwebrtc strips the VP8 payload descriptor when it sends the dependency descriptor, so the layer sync bit that #4947 waits for is never set and a subscriber that lowers its frame rate stays at the base layer until a key frame. A new temporal layer selector reads only the dependency descriptor: it switches up at a switch point whose referenced frames were all forwarded. The forwarder uses it for VP8 when the extension is negotiated and falls back to the Y-bit selector when the descriptor is not sent. Fixes #4973. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>