Repository navigation
video: relay and record lossless thermal Matroska - #45
Conversation
Previous review (2026-09-21)Automated review note — AI-generated (Claude), validated against the live diff. Please sanity-check before acting. Full report: https://uav.tridgell.net/DevCallReviews/2026_09_22_AIReview/devcall_pr_reviews.html#prSupportProxy-45 Reviewed at head COMMENT. Careful work, and I verified three of its load-bearing claims by running the proxy rather than reading it. Two things worth fixing before merge, neither a memory-safety or data-integrity problem. 1. ISSUE — This is the documented flow — the README tells viewers to use 2. ISSUE — The commit immediately before this one on the branch is A refuted finding, so you don't go chasing it. A cold second pass reported the Notes (detail in the report): the lapped-anchor fallback becoming a hard What I checked and cleared. The lossless claim is clear and verified empirically — Cross-repo agreement with ArduPilot/AP_CameraGimbal#31 (head |
Accept authenticated chunked Matroska publishers and preserve native FFV1 samples and frame metadata through fan-out and recording. Cache codec headers for late viewers and rotate recordings at complete cluster boundaries, retaining existing admission, viewer and quota policies. Provide a greyscale desktop thermal viewer and browser guidance, with tests for authentication, fragmented input, reconnects, slow viewers and recording rotation.
|
Automated review note — AI-generated (Claude+Codex), validated against the live diff. Please sanity-check before acting. Reviewed at head Re-review after the rebase: the last review was at Nothing blocking. The relay and recording are byte-exact in the PR's tests, the parsers are bounded, admission matches the other transports, and the merged camera publisher sends exactly what 1. The new tests don't run in CI. tests/test_video_matroska.py is not in 2. Rejected and failed Matroska publishers leave no log line. handle_mkv() never calls 3. 4. The desktop viewer exits with a traceback on a second S press for the same frame (view_raw_thermal.py:111, Smaller: existing MPEG-TS viewers whose join point has been overwritten now get 503 where the merge-base served them (videoview.cpp:103, :526) - fine if intended, but unmentioned; the Settled from last time: the zero-chunk case at videomkv.h:103 stays a note, since the camera never sends a terminating chunk, and the self-referential lambda point is withdrawn. Not tested by any pass: a real camera, FFV1 decode through PyAV, the OpenCV window, ffplay, a browser. CI was still pending for this head. |
Accept authenticated chunked Matroska publishers and preserve native FFV1 samples and frame metadata through fan-out and recording. Cache codec headers for late viewers and rotate recordings at complete cluster boundaries, retaining existing admission, viewer and quota policies.
Provide a greyscale desktop thermal viewer and browser guidance, with tests for authentication, fragmented input, reconnects, slow viewers and recording rotation.