2 Commits

Author SHA1 Message Date
Johanness e4f3498617 Merge develop: Phase 1 complete — Framework + Passthrough 2026-05-26 23:04:51 +03:00
Johanness db41a91967 Merge feature/phase1-framework: Phase 1 complete
Phase 1: Framework + Passthrough — Two processes exchanging video via MXL, controlled by engine.

Implemented:
- Project scaffold: CMake + vcpkg, MXL SDK submodule
- libdmf-node: Node interface, PortDef, ControlServer (WS + HTTP /cmd),
  NodeRunner (CLI, MXL lifecycle, separate process thread)
- libdmf-engine: Graph model, FlowManager (UUID v4, NMOS V210 flow defs),
  ProcessManager (fork/exec), ApiServer (REST), NodeControlClient
- dmf-node-passthrough: V210 grain read→memcpy→write, TAI-time-based
  grain pacing with mxlSleepUntil, 2-grain read delay
- dmf-studio-engine: REST API with full graph CRUD + start/stop +
  connect-input/connect-output/disconnect-port/command endpoints
- Proper shutdown: release MXL readers/writers before destroy, engine
  kills child processes on exit
- Unit tests: 6 cases, 22 assertions, all passing
2026-05-26 23:04:45 +03:00

Diff Content Not Available