fix: check is_available() before creating Spout/unavailable sinks and sources (#688)#690
fix: check is_available() before creating Spout/unavailable sinks and sources (#688)#690livepeer-tessa wants to merge 1 commit intomainfrom
Conversation
… sources (#688) SpoutGL is Windows-only. On Linux (fal.ai workers), _update_output_sink() was attempting to create the sink without first checking is_available(), producing ERROR-level noise. Apply the same guard introduced for NDI (#644): - _update_output_sink(): add is_available() check; log warning and return early if the sink type is unavailable on the current platform - _create_and_connect_input_source(): downgrade existing is_available() failure from ERROR to WARNING to match the output-sink behaviour Closes #688 Signed-off-by: livepeer-robot <robot@livepeer.org>
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Comment Tip CodeRabbit can generate a title for your PR based on the changes with custom instructions.Set the |
🚀 fal.ai Preview Deployment
TestingConnect to this preview deployment by running this on your branch: 🧪 E2E tests will run automatically against this deployment. |
✅ E2E Tests passed
Test ArtifactsCheck the workflow run for screenshots. |
Summary
Fixes #688 — same availability-guard pattern as #644 (NDI), now applied to output sinks generally and the input source path.
Changes
src/scope/server/frame_processor.py_update_output_sink()— addis_available()guard before attempting to create:_create_and_connect_input_source()— downgrade existingis_available()failure fromERRORtoWARNINGfor consistency.Why
SpoutGL is a Windows-only DirectX texture sharing library. On Linux fal.ai workers, enabling the Spout sink/source produced ERROR-level log noise even though the outcome was benign. This cluttered the error monitoring dashboard alongside real errors.
Test
WARNINGand no further errors (nocreate()attempt)is_available()returnsTrue, sink creates as normalRelated