Repository navigation
video: serve RTSP viewers over interleaved TCP - #47
Conversation
RTSP connections previously entered publisher admission, preventing clients such as Mission Planner from viewing proxied streams by RTSP URL. Reserve /view/vN for authenticated playback of the existing MPEG-TS ring as RTP, preserving publisher splices and disconnecting viewers that fall behind. Bound unauthenticated admission, support RTCP keepalives and TCP transport negotiation, and provide a copyable Mission Planner pipeline in the video UI.
Previous review (2026-10-20)Automated review note — AI-generated (Claude+Codex), validated against the live diff. Please sanity-check before acting. Reviewed at head This adds RTSP-over-TCP playback for viewers. It builds cleanly and its new tests pass, but two viewer-side issues should be fixed. Should fix
Low
|
Drain closing connections so unread input and half-closes cannot keep the shared video child busy while its final response is blocked. Preserve a paused viewer's buffered cursor on resume, re-anchoring only for the first PLAY or after that position has been overwritten to avoid replaying video within the same RTP session. Add live regressions for TCP backpressure, half-close handling, exact resume continuity and keyframe rejoining after a paused viewer is lapped.
|
Automated review note — AI-generated (Claude+Codex), validated against the live diff. Please sanity-check before acting. Reviewed at head This RTSP-over-TCP viewer change now looks good to merge: it builds cleanly at 7e45231 and the RTSP viewer tests pass under the review harness. Since the last review (at 4d3b5c8), commit 7e45231 fixed both earlier issues. A closing viewer now drains its input instead of busy-spinning the video child, and PAUSE/PLAY resumes from the buffered position instead of replaying from the last keyframe. New regression tests fail on the old code and pass now. |
|
This was tested successfully yesterday on my aerial photography copter, thanks! |
RTSP connections previously entered publisher admission, preventing clients such as Mission Planner from viewing proxied streams by RTSP URL. Reserve /view/vN for authenticated playback of the existing MPEG-TS ring as RTP, preserving publisher splices and disconnecting viewers that fall behind.
Bound unauthenticated admission, support RTCP keepalives and TCP transport negotiation, and provide a copyable Mission Planner pipeline in the video UI.