gonna write
- Rust 99.5%
- Shell 0.5%
The "video lags, audio recovers" stall: an audio underrun's padded silence was not counted, so the A/V clock fell behind for good and every later frame was held waiting for it (ported from the pirror app's ba69b19). Silence now advances the clock, and a skew beyond 1 s re-anchors it instead of holding frames. Fallback lag protection on an unstable link (the sender picks it, --lag-protection is the default for senders that do not answer): - drop: bump the link generation (the queued backlog is discarded), re-anchor the clock, and restart decoding at the next IDR. - rehandshake: the same, plus RESYNC to the sender over the SRT back-channel; it flushes its queue, forces an IDR and replies RESYNC_ACK. The link stays connected throughout. Receivers say HELLO after accept and the sender answers CONFIG with its chosen method (wire format shared with the pirror app's PROTOCOL.md, "Back-channel"). When a sender connects the idle screen is replaced with plain black, so video that does not fill the display (a portrait phone) is letterboxed in black instead of over "ready to connect" (on DRM the video is an overlay above the primary plane). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| .cargo | ||
| assets | ||
| examples | ||
| scripts | ||
| src | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CLAUDE.md | ||