decklink start up to separate factory

This commit is contained in:
2026-05-22 15:27:46 +10:00
parent 315cbda9d1
commit 64a6125c3f
14 changed files with 330 additions and 88 deletions

View File

@@ -35,6 +35,8 @@ std::filesystem::path WriteConfigFixture()
<< " \"inputFrameRate\": \"50\",\n"
<< " \"outputVideoFormat\": \"2160p\",\n"
<< " \"outputFrameRate\": \"60\",\n"
<< " \"videoInputBackend\": \"none\",\n"
<< " \"videoOutputBackend\": \"decklink\",\n"
<< " \"autoReload\": false,\n"
<< " \"maxTemporalHistoryFrames\": 8,\n"
<< " \"previewEnabled\": true,\n"
@@ -66,6 +68,8 @@ void TestLoadsRuntimeHostConfig()
Expect(config.inputFrameRate == "50", "input frame rate loads");
Expect(config.outputVideoFormat == "2160p", "output format loads");
Expect(config.outputFrameRate == "60", "output frame rate loads");
Expect(config.videoInputBackend == "none", "video input backend loads");
Expect(config.videoOutputBackend == "decklink", "video output backend loads");
Expect(!config.autoReload, "auto reload loads");
Expect(config.maxTemporalHistoryFrames == 8, "history length loads");
Expect(config.previewEnabled, "preview enabled toggle loads");

View File

@@ -105,6 +105,8 @@ int main()
ExpectContains(json, "\"type\":\"color\"", "state JSON should serialize parameter types for the UI");
ExpectContains(json, "\"width\":1920", "state JSON should expose output width");
ExpectContains(json, "\"height\":1080", "state JSON should expose output height");
ExpectContains(json, "\"videoInputBackend\":\"decklink\"", "state JSON should expose input backend");
ExpectContains(json, "\"videoOutputBackend\":\"decklink\"", "state JSON should expose output backend");
ExpectContains(json, "\"renderMs\":2.5", "state JSON should expose top-level render timing");
ExpectContains(json, "\"budgetUsedPercent\":15", "state JSON should expose top-level render budget percentage");
ExpectContains(json, "\"renderFrameMs\":2.5", "state JSON should expose cadence render timing");