External Outputs¶
External outputs are optional. First choose which representation a destination should receive, then enable only the backend required by the installation and verify its real receiver state.
flowchart LR
V[Final ViewType] --> N[NDI<br/>network video]
V --> Y[Syphon<br/>macOS GPU sharing]
V --> S[Spout<br/>Windows GPU sharing]
N --> Q1[Receiver qualification]
Y --> Q2[Receiver qualification]
S --> Q3[Receiver qualification]
What is it? Network video output.
Platform: availability depends on compatible Devolay/NDI native runtime and receiver qualification.
Select a view: setNdiView(ViewType...).
Enable/disable: setOutputEnabled(OutputType.NDI, boolean).
OutputManager outputs = dome.getOutputManager();
outputs.setNdiView(ViewType.EQUIRECTANGULAR);
outputs.setOutputEnabled(OutputManager.OutputType.NDI, true);
println(outputs.getOutputState(OutputManager.OutputType.NDI));
println(outputs.getOutputFailureReason(OutputManager.OutputType.NDI));
Qualification
Test with a real NDI receiver before marking a platform as qualified.
What is it? Platform-local GPU texture sharing on macOS.
Select a view: setSyphonView(ViewType...).
Enable/disable: setOutputEnabled(OutputType.SYPHON, boolean).
Availability is not the same as successful initialization or receiver qualification.
What is it? Platform-local GPU texture sharing on Windows.
Select a view: setSpoutView(ViewType...).
Enable/disable: setOutputEnabled(OutputType.SPOUT, boolean).
Test with a real receiver on the Windows configuration that will be claimed as qualified.
State and troubleshooting¶
Use getOutputState(...) and getOutputFailureReason(...) to distinguish unavailable, initialized/enabled and failed states. Do not infer output health only from a UI toggle.
Under the hood
GPU/CPU boundaries, worker queues, buffers, latest-frame-wins behavior and native sharing details are documented in Output Backends. They are not prerequisites for enabling an output.