Debounce the Audio panel "live" column

The live indicator compared frames_rendered to the previous UI frame's value, but
audio buffers release in bursts so most frames saw no change -- the cell flickered
between a green dot and grey "idle". Now each stream remembers when it last advanced
and reads "live" for a short window (0.4 s) afterwards, with a ~2 Hz frames/s
estimate next to it; otherwise "idle". Steady and readable for multi-stream games.

Verified: x64 build green. Full visual confirmation needs an injected, audio-playing
game with the per-stream table open (Debug details); logic reviewed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-21 01:21:32 +02:00
parent 37d0f64e23
commit 0ffe836a29
3 changed files with 32 additions and 10 deletions

View File

@@ -75,13 +75,6 @@ is removed from this list once done — so the top item is always next. The
self-verifiable tooling / UI / input items come first; the game-pipeline items that
need a real game (and Remote Play) to fully validate come last.
- **Fix the Audio panel "live" column.** It overlays a green dot and grey "idle"
because liveness is recomputed each frame from the per-stream `frames_rendered`
delta, which is zero on most frames (buffers release in bursts), so it flickers.
Replace it with a **debounced activity indicator**: keep a per-stream "last
advanced" timestamp (the panel already stores the previous frame counts) and show
**live** if frames advanced within the last ~300–500 ms, else **idle** — optionally
a small frames/s or activity bar so multi-stream games read clearly.
- **Move the synthetic-input toggle to the Controllers panel, under Debug details.**
The "Forward synthetic test input" checkbox is a controller-debugging aid, so move
it out of the Injection panel into `ControllersPanel` and gate it behind