mikael-lovqvists-claude-agent ab47729d74 Reload controls after menu/boolean/button change
Switching a menu control (e.g. exposure auto → manual) changes the
flags on related controls (e.g. exposure_absolute loses FLAG_GRABBED).
Re-fetch and re-render controls silently after any non-slider change so
the updated enabled/read-only states are reflected immediately.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 01:48:51 +00:00
2026-03-26 22:03:02 +00:00

video-setup

A graph-based multi-peer video routing system written in C11. Nodes are media processes connected by typed transport edges; the graph carries video streams between sources, relays, and sinks with priority as a first-class property — so a low-latency monitoring feed and a high-quality archival feed can coexist on the same source.

Designed to run on resource-constrained hardware (Raspberry Pi capturing raw MJPEG, forwarding over TCP) alongside more capable machines that handle processing, relay, display, and archival.

Documentation

  • architecture.md — system design: graph model, transport protocol, relay design, codec layer, discovery, multi-site plan, device resilience, X11 integration
  • docs/protocol.md — wire protocol reference: frame format, all message types, payload schemas, stream lifecycle, discovery
  • planning.md — module build order and current status
  • conventions.md — C code and project conventions

CLI Tools

Structure

src/modules/     C modules, one directory each
include/         public headers
dev/cli/         CLI driver programs for each module
dev/web/         development web UI (Node.js/Express, depends on protocol)
docs/            documentation

Status

Module Status
common done
media_ctrl done
v4l2_ctrl done
serial done
transport not started
protocol not started
frame_alloc not started
relay not started
ingest not started
archive not started
codec not started
xorg not started
web node not started
Description
Graph-based multi-peer video routing system
Readme 1 MiB
Languages
C 83.7%
JavaScript 8.3%
Makefile 3.7%
Python 2.1%
CSS 1.7%
Other 0.5%