wifi-densepose/rust-port
ruv e20bed197b feat(camera): direct V4L2 capture via v4l crate — eliminates ffmpeg orphans
Replaces ffmpeg subprocess with direct V4L2 mmap capture using the `v4l`
Rust crate. Supports MJPG (decoded via jpeg-decoder) and YUYV formats.

Key changes:
- Primary backend: v4l::io::mmap::Stream (no subprocess, no orphans)
- Fallback: ffmpeg with 10-second timeout + kill on hang
- MJPG → RGB via jpeg-decoder, YUYV → RGB inline conversion
- Device released cleanly on drop (no zombie processes)

Fixes the recurring stale ffmpeg issue (killed ~8 times in 61 hours
of continuous monitoring). The ffmpeg subprocess would hang on V4L2
device access and become an orphan consuming 99%+ CPU.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-04-22 23:41:12 -04:00
..
wifi-densepose-rs feat(camera): direct V4L2 capture via v4l crate — eliminates ffmpeg orphans 2026-04-22 23:41:12 -04:00