diff --git a/architecture.md b/architecture.md index f7b9839..762aacd 100644 --- a/architecture.md +++ b/architecture.md @@ -76,11 +76,11 @@ V4L2 device control and enumeration are carried as control messages within the e ```mermaid graph LR - CAM[V4L2 Camera\ndev/video0] -->|raw MJPEG| PI[Pi: ingest node] + CAM[V4L2 Camera
dev/video0] -->|raw MJPEG| PI[Pi: ingest node] PI -->|encapsulated stream| RELAY[Relay] - RELAY -->|high priority| DISPLAY[Display / Preview\nlow latency] - RELAY -->|low priority| ARCHIVE[Archiver\nhigh quality] - CTRL[Controller node\nweb UI] -.->|V4L2 control\nvia transport| PI + RELAY -->|high priority| DISPLAY[Display / Preview
low latency] + RELAY -->|low priority| ARCHIVE[Archiver
high quality] + CTRL[Controller node
web UI] -.->|V4L2 control
via transport| PI CTRL -.->|connection config| RELAY ``` @@ -239,15 +239,15 @@ graph TD UP1[Upstream Source A] -->|encapsulated stream| RELAY[Relay] UP2[Upstream Source B] -->|encapsulated stream| RELAY - RELAY --> LS[Low-latency Output\nsingle-slot\ndrop on collision] - RELAY --> CS[Completeness Output\nqueued\ndrop on budget exceeded] - RELAY --> OB[Opaque Output\nbyte pipe\nno frame awareness] + RELAY --> LS[Low-latency Output
single-slot
drop on collision] + RELAY --> CS[Completeness Output
queued
drop on budget exceeded] + RELAY --> OB[Opaque Output
byte pipe
no frame awareness] - LS -->|encapsulated| LC[Low-latency Consumer\neg. preview display] - CS -->|encapsulated| CC[Completeness Consumer\neg. archiver] - OB -->|opaque| RAW[Raw Consumer\neg. disk writer] + LS -->|encapsulated| LC[Low-latency Consumer
eg. preview display] + CS -->|encapsulated| CC[Completeness Consumer
eg. archiver] + OB -->|opaque| RAW[Raw Consumer
eg. disk writer] - RELAY -.->|drop count\nqueue depth\nbyte utilization| CTRL[Control Plane] + RELAY -.->|drop count
queue depth
byte utilization| CTRL[Controller node] ``` ---