https://gitlab.synchro.net/main/sbbs/-/commit/7108fa623c0935201f64320d
Modified Files:
src/doors/syncdoom/i_termmusic.c syncdoom.c
Log Message:
syncdoom: fix RTT stale-reject ratchet + audio/frame telemetry
- RTT: pass stale_reject=0 to termgfx_rtt_sample. That filter dropped any DSR
round-trip below EMA/3 to reject "absurdly low" late replies -- but it created
a one-way ratchet: once a slow JXL frame spiked the smoothed RTT, every good
low sample was then below EMA/3 and discarded, so it could never recover
(observed latched ~725ms on a ~20ms LAN, which also forced the synthetic
turn / "evdev/syn"). Reclaimed-frame replies are already dropped above via
g_dsr_stale, so the filter guarded nothing here. Matches SyncDuke, which runs
the same shared function with stale_reject=0 and tracks the true link.
- Telemetry: the music line now splits render=<transcode ms> xfer=<encode+cache+
upload ms> so a load stall's cause is unambiguous; a frame-stall watchdog logs
when emit_frame runs long (>500ms, a slow encode); and dlog gains a [+ms]
prefix (the BBS log only stamps to the second).
Co-Authored-By: Claude Opus 4.8 <
noreply@anthropic.com>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net