From 10d12820590ecce4d7cbdffb7fdef458a1de5ce7 Mon Sep 17 00:00:00 2001 From: JohannesItten Date: Wed, 1 Jul 2026 12:18:12 +0300 Subject: [PATCH] feat: fan-out ndiin video flow to both fakesink and ndiout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Share a single UUID across both edges so both readers connect to the same MXL flow. MXL supports multiple readers per flow natively — each reader has its own read pointer into the ring buffer. Co-Authored-By: Claude Sonnet 4.6 --- studio-manager/main.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/studio-manager/main.cpp b/studio-manager/main.cpp index 7180c6a..d124143 100644 --- a/studio-manager/main.cpp +++ b/studio-manager/main.cpp @@ -38,12 +38,16 @@ static std::string gen_uuid() { static dmf::FlowGraph build_graph() { dmf::FlowGraph g; + const std::string video_flow = gen_uuid(); g.nodes = { - { "ndiin", "ndiin", {} }, - { "fakesink", "fakesink", {}}, + { "ndiin", "ndiin", {} }, + { "fakesink", "fakesink", {} }, + { "ndiout", "ndiout", {} }, }; g.edges = { - { gen_uuid(), "ndiin", "flow_id", "fakesink", "flow_id", + { video_flow, "ndiin", "flow_id", "fakesink", "flow_id", + { {"kind","video"}, {"width",1920}, {"height",1080}, {"fps_num",25}, {"fps_den",1} } }, + { video_flow, "ndiin", "flow_id", "ndiout", "flow_id", { {"kind","video"}, {"width",1920}, {"height",1080}, {"fps_num",25}, {"fps_den",1} } }, }; return g;