Skip to content

Fix perform-mode generic output sinks for graph pipelines#1036

Draft
plaingca wants to merge 1 commit into
daydreamlive:mainfrom
plaingca:plaingca/fix_perform_ndi
Draft

Fix perform-mode generic output sinks for graph pipelines#1036
plaingca wants to merge 1 commit into
daydreamlive:mainfrom
plaingca:plaingca/fix_perform_ndi

Conversation

@plaingca
Copy link
Copy Markdown

Summary

Fix perform-mode generic output sinks, including NDI, when running generated
graph pipelines.

The frame processor now tracks the primary graph output sink and routes
packets from that sink through the normal frame-output path. That makes
generic output_sinks receive the canonical perform-mode stream instead of
only incrementing the frame counter.

Root Cause

Graph-mode output was read through get_packet_from_sink(), but that path
bypassed _on_frame_output(). As a result, WebRTC could receive frames while
generic output sinks such as NDI did not get fanned out frames in perform
mode.

Changes

  • Track the first graph output node as the primary sink when starting graph-
    mode pipelines.
  • Route primary sink packets through _on_frame_output().
  • Keep secondary sink reads from duplicating generic output fanout.
  • Add focused regression tests for primary vs secondary graph sink behavior.

Validation

  • uv run pytest tests/test_frame_processor_sinks.py

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 14, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 140a9b79-9cb9-4e42-8fcf-b546d67ad4d9

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Signed-off-by: Patrick Laing <patricklaing@gmail.com>
@plaingca plaingca force-pushed the plaingca/fix_perform_ndi branch from d8e665a to f3688aa Compare May 14, 2026 21:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant