Clean up pass
This commit is contained in:
@@ -104,6 +104,13 @@ apps/RenderCadenceCompositor/
|
||||
RenderCadenceApp.h
|
||||
AppConfig.cpp
|
||||
AppConfig.h
|
||||
AppConfigProvider.cpp
|
||||
AppConfigProvider.h
|
||||
|
||||
control/
|
||||
HttpControlServer.cpp
|
||||
HttpControlServer.h
|
||||
RuntimeStateJson.h
|
||||
|
||||
platform/
|
||||
ComInit.cpp
|
||||
@@ -139,8 +146,16 @@ apps/RenderCadenceCompositor/
|
||||
telemetry/
|
||||
CadenceTelemetry.cpp
|
||||
CadenceTelemetry.h
|
||||
TelemetryPrinter.cpp
|
||||
TelemetryPrinter.h
|
||||
CadenceTelemetryJson.h
|
||||
TelemetryHealthMonitor.h
|
||||
|
||||
logging/
|
||||
Logger.cpp
|
||||
Logger.h
|
||||
|
||||
json/
|
||||
JsonWriter.cpp
|
||||
JsonWriter.h
|
||||
```
|
||||
|
||||
The new app can reuse selected existing source files from the current app at first:
|
||||
@@ -355,15 +370,17 @@ Initial counters:
|
||||
- free/rendering/completed/scheduled slot counts
|
||||
- actual DeckLink buffered frames
|
||||
|
||||
### `TelemetryPrinter`
|
||||
### `TelemetryHealthMonitor`
|
||||
|
||||
Prints one stable line per interval, matching the probe where possible.
|
||||
Samples cadence telemetry once per interval and logs only health events.
|
||||
|
||||
Example:
|
||||
Normal telemetry is available through the HTTP state endpoint. The console should not receive a healthy once-per-second cadence line.
|
||||
|
||||
```text
|
||||
renderFps=59.9 scheduleFps=59.9 free=7 completed=1 scheduled=4 drops=0 pboMiss=0 completions=119 late=0 dropped=0 decklinkBuffered=4
|
||||
```
|
||||
Health events:
|
||||
|
||||
- warning when DeckLink late/dropped-frame counters increase
|
||||
- warning when schedule failures increase
|
||||
- error when app/DeckLink output buffering is starved
|
||||
|
||||
## Startup Sequence
|
||||
|
||||
@@ -371,24 +388,28 @@ Target first-version startup:
|
||||
|
||||
```text
|
||||
main
|
||||
-> parse AppConfig
|
||||
-> load AppConfig through AppConfigProvider
|
||||
-> initialize COM
|
||||
-> DeckLinkOutput discover/select/configure output
|
||||
-> DeckLinkOutput prepare output schedule
|
||||
-> create SystemFrameExchange
|
||||
-> start RenderThread
|
||||
-> wait for completed frame warmup
|
||||
-> start DeckLinkOutputThread
|
||||
-> wait for scheduled depth warmup
|
||||
-> DeckLinkOutput start scheduled playback
|
||||
-> start TelemetryPrinter
|
||||
-> optionally discover/select/configure DeckLink output
|
||||
-> if DeckLink is available:
|
||||
-> start DeckLinkOutputThread
|
||||
-> wait for scheduled depth warmup
|
||||
-> DeckLinkOutput start scheduled playback
|
||||
-> if DeckLink is unavailable:
|
||||
-> continue without video output
|
||||
-> start TelemetryHealthMonitor
|
||||
-> start HttpControlServer
|
||||
-> wait for Enter
|
||||
```
|
||||
|
||||
Shutdown:
|
||||
|
||||
```text
|
||||
stop TelemetryPrinter
|
||||
stop HttpControlServer
|
||||
stop TelemetryHealthMonitor
|
||||
stop DeckLinkOutputThread
|
||||
DeckLinkOutput stop playback
|
||||
stop RenderThread
|
||||
|
||||
Reference in New Issue
Block a user