docs: record Phase 7 resilience state and re-scope
This commit is contained in:
@@ -71,6 +71,22 @@ loopback; current phase is Phase 7.
|
||||
No application changes needed — the receiver already announces on all
|
||||
interfaces. nmcli property syntax validated against NM 1.58 with a
|
||||
disposable profile; AP bring-up itself can only be validated on the Pi.
|
||||
- **Phase 7 resilience shipped** (pending Pi-side hw-decode run):
|
||||
- PLI over signaling: `SessionPli` message; the depacketizer now returns
|
||||
`DepacketizeResult{access_unit, frame_dropped}`; the receiver
|
||||
rate-limits PLIs to 1/500 ms; the sender keeps the signaling channel
|
||||
open and calls `SenderPipeline::request_keyframe()` (thread-safe
|
||||
atomic → run-loop → encoder). Validated end-to-end with a probe that
|
||||
drops a mid-keyframe packet: receiver logs "frame damaged",
|
||||
PLI arrives with the session id.
|
||||
- `RtpJitterBuffer` (rtp_packet.h): sequence reordering, 16 pkt/60 ms,
|
||||
straggler discard via serial-number arithmetic, overflow flush for
|
||||
genuine loss. Zero added latency on in-order streams.
|
||||
- Hardware decode probe in DecoderFactory (`DecoderConfig.hardware_accel`,
|
||||
default true): h264_v4l2m2m first, software fallback, `--swdecode` opts
|
||||
out. On the desktop the probe fails cleanly ("Could not find a valid
|
||||
device") and falls back; on the Pi it should pick the VideoCore m2m
|
||||
device — NEEDS THE USER'S PI RUN to confirm.
|
||||
- **REAL-HARDWARE VALIDATION (desktop → Pi Zero 2 W over Wi-Fi)**: the full
|
||||
chain works on two machines: mDNS discovery → signaling negotiation →
|
||||
RTP over Wi-Fi → software H.264 decode → fullscreen KMSDRM letterboxed
|
||||
|
||||
Reference in New Issue
Block a user