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 |
|