ba26bd0cb71386ef847328167258c94d20b2bd1f
Config_Def schema tables declare section/key/type/default per module. Typed getters: config_get_str, _u16, _u32, _flags. FLAGS type parses space/comma-separated tokens via a Config_Flag_Def table. config_defaults() gives schema defaults without a file. config_dump() prints effective values for diagnostics. config_cli: load a file or --defaults and dump effective config. dev/example.cfg: sample config covering node, discovery, transport. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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
- docs/cli/media_ctrl_cli.md — media device and topology tool
- docs/cli/v4l2_ctrl_cli.md — V4L2 camera control tool
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
Languages
C
83.7%
JavaScript
8.3%
Makefile
3.7%
Python
2.1%
CSS
1.7%
Other
0.5%