45 void setRenderer(std::shared_ptr<RenderList> r)
override;
49 void startRendering()
override;
50 void render()
override;
51 void stopRendering()
override;
52 bool canRender()
const override;
53 void onRendererChange()
override;
56 void destroyOutput()
override;
57 std::shared_ptr<RenderState> renderState()
const override;
61 const char* activeStrategyName()
const noexcept;
66 bool outputStrategyPinUnmet()
const noexcept;
71 bool outputStrategyPinUnavailable()
const noexcept;
76 std::function<bool()> genlockTickSource()
const;
79 std::uint64_t pacingGoodXfers()
const noexcept;
80 std::uint64_t pacingDrops()
const noexcept;
81 std::uint64_t pacingUnderruns()
const noexcept;
84 std::unique_ptr<DirectVideoOutputBackend> m_backend;
86 std::shared_ptr<RenderState> m_renderState;
87 std::weak_ptr<RenderList> m_renderer;
89 QRhiTexture* m_texture{};
90 QRhiTextureRenderTarget* m_renderTarget{};
92 std::unique_ptr<interop::CpuStagedVideoOutput> m_hostStaged;
93 std::unique_ptr<interop::VideoOutputStrategy> m_rdma;
94 std::unique_ptr<interop::PacedFramePump> m_pump;
100 std::atomic<bool> m_running{
false};
101 GraphicsApi m_graphicsApi{};
Base class for sink nodes (QWindow, spout, syphon, NDI output, ...)
Definition OutputNode.hpp:54