5 Commits
Author SHA1 Message Date
Jonathan Thomas 04f9ccbe83 Discover Linux camera modes through native V4L2 queries 2026-09-19 15:10:01 -05:00
Jonathan Thomas 7389caf466 Prevent camera cleanup from racing FFmpeg device initialization
Serialize the FFmpeg capture Open path with GetFrame and Close using the
existing recursive mutex. Close still signals cancellation before waiting,
but cannot free a context while avformat_open_input or decoder setup uses it.
Clean up partially initialized resources on failure or cancellation.

Add a hardware-independent regression test that pauses a V4L2 open inside
FFmpeg and requests Close from another thread. It reproduces SIGSEGV with
the original implementation and passes with the fix, including 20 repeated
runs. All 15 camera/screen capture test cases pass (78 assertions).

Real-device AppImage validation remains necessary after rebuilding.
2026-09-14 15:36:46 -05:00
Jonathan Thomas 2c18616be5 Enable macOS AVFoundation capture backends 2026-06-21 15:33:08 -05:00
Jonathan Thomas 1cde209af6 Add Windows capture backends for recording 2026-06-19 22:52:31 -05:00
Jonathan Thomas 8bae3afb62 Add Linux screen and camera capture readers
Introduce FFmpeg-backed live capture readers for X11 screen capture and v4l2 camera devices, including JSON/settings support, Python bindings, public OpenShot includes, and focused metadata validation tests.
2026-06-15 23:09:52 -05:00