Split off from #93 / #109.
After the A/V-sync fixes (#121), the remote client syncs well (~0 to -50 ms) but the connection to stream.retrocapture.com (/raw) periodically drops after ~20-30 s:
[tls] Error in the pull function.
av_read_frame: Input/output error — tearing down and waiting to reconnect
HTTP error 502 Bad Gateway
Host side, just before the drop:
/raw client fd=NN send backlog exceeded cap — dropped backlog, keeping connection
i.e. the host can't push 720p60 to the relay fast enough → backlog → the relay cuts the read side → client sees IO error and reconnects. Just before each drop the client logs a momentary offset spike (-1.6s → -3.6s) with vqueue=0 — video stops arriving, then the connection tears down.
Likely a mix of host upload bandwidth for 720p60, Cloudflare/relay timeouts, and the /raw send backlog. Partly infra (relay) rather than app code. Investigate: measure host→relay throughput, consider lower default /raw bitrate/fps, relay keep-alive/timeout config.
Split off from #93 / #109.
After the A/V-sync fixes (#121), the remote client syncs well (~0 to -50 ms) but the connection to
stream.retrocapture.com(/raw) periodically drops after ~20-30 s:Host side, just before the drop:
i.e. the host can't push 720p60 to the relay fast enough → backlog → the relay cuts the read side → client sees IO error and reconnects. Just before each drop the client logs a momentary offset spike (-1.6s → -3.6s) with
vqueue=0— video stops arriving, then the connection tears down.Likely a mix of host upload bandwidth for 720p60, Cloudflare/relay timeouts, and the /raw send backlog. Partly infra (relay) rather than app code. Investigate: measure host→relay throughput, consider lower default /raw bitrate/fps, relay keep-alive/timeout config.