Skip to content

Fix: inability to end Enhanced Broadcasting stream when recording both displays - #5998

Open
aleksandr-voitenko wants to merge 1 commit into
stagingfrom
twitch-eb-recording-end-stream
Open

Fix: inability to end Enhanced Broadcasting stream when recording both displays#5998
aleksandr-voitenko wants to merge 1 commit into
stagingfrom
twitch-eb-recording-end-stream

Conversation

@aleksandr-voitenko

@aleksandr-voitenko aleksandr-voitenko commented Jun 26, 2026

Copy link
Copy Markdown
Collaborator

Description

Skip Enhanced Broadcasting-covered recording helpers when stop stream.

This change fixes inability to end stream with the following reproduction steps:

Steps

  1. Enable Twitch Dual Streaming with Enhanced Broadcasting.
  2. Go live.
  3. Start Horizontal recording.
  4. Stop Horizontal recording and wait until the recording finishes writing.
  5. Start Vertical recording.
  6. Stop Vertical recording and wait until the recording finishes writing.
  7. Click End Stream.

Actual Behavior
The stream does not end.
Desktop logs show repeated failures when trying to stop the stream.

Expected Behavior
The stream ends normally after clicking End Stream.

Context

In Twitch Dual Streaming with Enhanced Broadcasting, the actual live stream is owned by the enhancedBroadcasting output. Horizontal and vertical recording can still create display-scoped streaming instances as recording dependencies, but those instances are created with start: false and do not own real OBS streaming outputs.

After starting/stopping horizontal recording, then starting/stopping vertical recording, clicking End Stream could fail with repeated Invalid streaming output errors. Desktop attempted to stop the display-scoped recording helper streams before reaching the real Enhanced Broadcasting stream, so the actual stream was never stopped.

Changes

  • Skip EB-covered display streaming helpers when stopping active streaming instances.
  • Allow display output contexts to be destroyed after recording/replay buffer finishes, even while display streaming status is still driven by Enhanced Broadcasting.
  • Avoid force-stopping EB-covered display helper streams during context destruction.
  • Extract the output-context stop/destroy policy into a small tested helper.
  • Add regression coverage for EB-covered display helper cleanup behavior.

@bundlemon

bundlemon Bot commented Jun 26, 2026

Copy link
Copy Markdown

BundleMon

Files added (4)
Status Path Size Limits
renderer.(hash).js
+7.84MB -
vendors~renderer.(hash).js
+4.67MB -
updater.js
+115.29KB -
guest-api.js
+40.23KB -

Total files change +12.65MB

Final result: ✅

View report in BundleMon website ➡️


Current branch size history

@aleksandr-voitenko aleksandr-voitenko changed the title Skip Enhanced Broadcasting-covered recording helpers when stop stream Fix: inability to end Enhanced Broadcasting stream when recording both displays Jun 26, 2026
@michelinewu michelinewu added the staging Pull requests that can't be bundled label Jul 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug staging Pull requests that can't be bundled

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants