[RM10] Full-screen WebRTC judder on V1.10.0 — found the trigger + a workaround that works

Hi everyone,

Following up on thread #71027 — I've dug into the full-screen video judder / freezes that shows up on V1.10.0 release4 (it was smooth on V1.9.1). I want to share what I found and a workaround, since it affects anyone stuck on V1.10.0 — including people on the built-in Quest Browser who can't modify anything.

Symptom. In full-screen mode the video periodically "freezes then jumps," building up over several minutes. Toggling out of and back into full-screen often buys some time. It's not a network problem — the stream is 1080p@60fps with near-zero packet loss and good jitter.

What I measured. Using chrome://webrtc-internals on the Quest, the inbound-video playout-buffer target sits at about 5 seconds during the juddering "before" state (43 freezes in ~10s). I confirmed that "before" reproduces on a factory-reset, unpatched V1.10.0, so it's not contamination.

The trigger. The deep buffer tracks the playout-delay RTP extension. The Quest is only offering a standard, spec'd extension (that's correct). Something in the negotiation engages it — and once it's negotiated, the browser applies a very deep playout delay to a stream that never actually uses the extension.

I've raised this directly with GL.iNet with the full evidence (webrtc-internals exports, an A/B pair, disassembly notes, reproduction recipe). I'm not trying to lay blame here — I know the team (shoutout to minmie for the stereo build) has been actively engaged. I'm just reporting what I observed. Where they land the permanent fix is entirely their call.

Workaround that works for me. A small client-side patch that stops the playout-delay extension from being negotiated drops the buffer from ~5 s to ~524 ms (2 freezes) — a ~10× reduction — with network/decode unchanged. Caveats, so nobody gets surprised:

  • It requires editing the minified web bundle on the Comet Pro, so it breaks on firmware updates and has to be reapplied.
  • I'm happy to share the exact patch / steps if anyone wants to try it.

Happy to answer questions or share the data. And if the judder is wrecking your setup too, let me know your firmware + mode — the more data points the better.

Hi,

Thanks for the valuable detailed investigation and for sharing the test results and workaround! This test is very helpful for us, and we've forwarded the details to our R&D team.

You’re welcome, and I’m very happy to help in any way possible, answer any questions you may have.