Commit Graph
5 Commits
Author SHA1 Message Date
harry 263e7a964e feat: detect lost sources, stalled writes and low disk space
PipeWire capture keeps its size and last frame after its stream stops, so the
recorder follows the stream state OBS logs. Recording fails when the segment
on disk stops growing (OBS kept counting bytes into a dead muxer and missed a
full disk) and stops while enough space remains to finalise the last segment.
Failures stay visible after the output stops.

Adds a check command that verifies keyframe-aligned segments and a remux
across segment boundaries, and gives the rig desktop audio.
2026-10-08 14:19:57 +02:00
harry f2eb7139da feat: add OBS recording engine and validation probe
clipbin-obs starts the pinned libobs on a dedicated thread, opens exactly the
bundled plugin allowlist, and records official capture sources through one
hardware encoder into keyframe-aligned Matroska segments. Status reaches
Recording only once the source has a picture and the segment grows on disk.

clipbin-probe lists and verifies hardware encoders and records from a real
capture source, printing status, health and segment events for validation.
2026-10-08 14:12:06 +02:00
harry 80b6abdb32 build: assemble pinned OBS 32.0.4 runtimes for Linux and Windows
Linux builds libobs and an allowlist of official plugins from source in OBS's
relocatable layout. Windows copies the official release byte-for-byte so the
Game Capture hook keeps its signature. Adds a headless Wayland rig for
PipeWire/portal capture tests on machines without a display.
2026-10-08 13:51:22 +02:00
harry eb364d25e2 chore: scaffold Rust workspace and native GPUI shell
Rust checks / checks (push) Successful in 3m35s
2026-10-08 12:19:45 +02:00
harry 9602f82ca9 docs: add agreed recorder v1 specification 2026-10-08 12:04:39 +02:00