UYVY backend
All checks were successful
CI / React UI Build (push) Successful in 11s
CI / Native Windows Build And Tests (push) Successful in 2m22s
CI / Windows Release Package (push) Has been skipped

This commit is contained in:
Aiden
2026-05-30 19:16:16 +10:00
parent d0b1f63524
commit f0f8b080ca
30 changed files with 733 additions and 239 deletions

View File

@@ -73,6 +73,7 @@ add_video_shader_test(RenderCadenceCompositorRuntimeStateJsonTests
"${SRC_DIR}/app/AppConfig.cpp"
"${SRC_DIR}/app/AppConfigProvider.cpp"
${VIDEO_MODE_SOURCES}
${VIDEO_FORMAT_SOURCES}
"${SRC_DIR}/json/JsonWriter.cpp"
${RUNTIME_LAYER_SOURCES}
${RUNTIME_TEXT_SOURCES}

View File

@@ -42,6 +42,7 @@ std::filesystem::path WriteConfigFixture()
<< " \"device\": \"output-card-1\",\n"
<< " \"resolution\": \"2160p\",\n"
<< " \"frameRate\": \"60\",\n"
<< " \"pixelFormat\": \"uyvy8\",\n"
<< " \"keying\": {\n"
<< " \"external\": true,\n"
<< " \"alphaRequired\": true\n"
@@ -78,6 +79,7 @@ void TestLoadsRuntimeHostConfig()
Expect(config.input.device == "input-card-1", "input device loads");
Expect(config.output.resolution == "2160p", "output resolution loads");
Expect(config.output.frameRate == "60", "output frame rate loads");
Expect(config.output.pixelFormat == "uyvy8", "output pixel format loads");
Expect(config.output.device == "output-card-1", "output device loads");
Expect(config.input.backend == "none", "video input backend loads");
Expect(config.output.backend == "decklink", "video output backend loads");

View File

@@ -118,7 +118,7 @@ int main()
ExpectContains(json, "\"width\":1920", "state JSON should expose output width");
ExpectContains(json, "\"height\":1080", "state JSON should expose output height");
ExpectContains(json, "\"input\":{\"backend\":\"decklink\",\"device\":\"default\",\"resolution\":\"1080p\",\"frameRate\":\"59.94\"}", "state JSON should expose nested input config");
ExpectContains(json, "\"output\":{\"backend\":\"decklink\",\"device\":\"default\",\"resolution\":\"1080p\",\"frameRate\":\"59.94\",\"keying\"", "state JSON should expose nested output config");
ExpectContains(json, "\"output\":{\"backend\":\"decklink\",\"device\":\"default\",\"resolution\":\"1080p\",\"frameRate\":\"59.94\",\"pixelFormat\":\"auto\",\"systemFramePixelFormat\":\"8-bit BGRA\",\"keying\"", "state JSON should expose nested output config");
ExpectContains(json, "\"videoOutput\":{\"enabled\":true,\"backend\":\"decklink\"", "state JSON should expose neutral video output status");
ExpectContains(json, "\"scheduleFailures\":2", "state JSON should expose neutral video output schedule failures");
ExpectContains(json, "\"backendMetrics\":{\"bufferedAvailable\":true,\"buffered\":4", "state JSON should expose backend-specific video output metrics");