Skip to content

Support Twitch-only 1440p Auto Optimizer and improve EB compatibility - #1799

Merged
summeroff merged 5 commits into
stagingfrom
auto-optimizer-twitch-1440p
Oct 8, 2026
Merged

summeroff merged 5 commits into
stagingfrom
auto-optimizer-twitch-1440p

Conversation

@aleksandr-voitenko

@aleksandr-voitenko aleksandr-voitenko commented Oct 6, 2026 •

Copy link
Copy Markdown
Collaborator

Description

Allow capable Twitch-only setups to use 1440p while keeping multistream recommendations conservative. Improve Enhanced Broadcasting compatibility and distinguish Twitch configuration limitations from measured performance problems.

Changes

  • Add Twitch-only 1440p testing, including an experimental 8000 Kbps policy for ordinary Twitch.
  • Support Enhanced Broadcasting Dual Format with 1440p horizontal and 1080p vertical output.
  • Limit other platform selections to 1080p and cap ordinary multistream outputs at 6000 Kbps each.
  • Preserve discovered HEVC support during Enhanced Broadcasting probes.
  • Report configuration fallback separately from overload and retain non-fatal configuration warnings.
  • Register missing encoder-query handlers for Simple and Advanced Enhanced Broadcasting.

Desktop handles content-resolution eligibility, applying recommendations, and user-facing messaging.

How Has This Been Tested?

Manually, Windows only.

Types of changes

  • Tweak (non-breaking change to improve existing functionality)

@aleksandr-voitenko aleksandr-voitenko changed the title Support Twitch-only 1440p optimization and improve Enhanced Broadcast… Support Twitch-only 1440p optimization and improve EB compatibility Oct 6, 2026
@aleksandr-voitenko aleksandr-voitenko changed the title Support Twitch-only 1440p optimization and improve EB compatibility Support Twitch-only 1440p Auto Optimizer and improve EB compatibility Oct 6, 2026
Extract the ordinary multistream bitrate cap into a shared policy helper and test it without requiring a real hardware benchmark to succeed. Preserve stricter limits, single-platform allowances, and Twitch-managed ladders, and retain the existing startup and cancellation integration coverage.
Apply Twitch's paired-resolution rule only to measured recommendations, while preserving saved vertical tuples and request limits for estimates. Cover absent and failed probes, retain measured-pair validation tests, and exercise 1440p fallback through the public API. Clarify the estimate contract in the API comments.
Stop candidate descent after cancellation, including when a blocking Twitch configuration request fails or succeeds. Add local-only integration coverage for stalled 1440p and 1080p requests, session reuse, and the normal 1440p-to-1080p fallback.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

It changes native hardware, network-probe, and provider-configuration behavior that was only manually validated on Windows.

0 open findings

What changed in this PR

Adds Twitch-only 1440p optimization while preserving conservative multistream limits and improving Enhanced Broadcasting compatibility.

Changes:

  • Adds Twitch-only 1440p/8000 Kbps policy and 6000 Kbps multiplatform caps.
  • Supports 1440p horizontal/1080p vertical Enhanced Broadcasting with HEVC preservation.
  • Adds configuration fallback/warning handling, encoder-query IPC registration, and tests.
File Description
tests/​osn-tests/​src/​test_osn_get_available_encoders.ts Tests Enhanced Broadcasting encoder queries.
tests/​osn-tests/​src/​test_osn_auto_optimizer.ts Tests 1440p eligibility and saved Dual Format settings.
tests/​osn-tests/​src/​test_osn_auto_optimizer_configuration.ts Tests configuration retries and cancellation.
source/​auto-optimizer-quality-policy.hpp Defines 1440p and multistream quality policy.
source/​auto-optimizer-enhanced-broadcasting-policy.hpp Adds HEVC filtering, pairing, and fallback classification.
obs-studio-server/​source/​osn-enhanced-broadcasting-simple-streaming.cpp Registers the encoder-query IPC handler.
obs-studio-server/​source/​osn-enhanced-broadcasting-advanced-streaming.cpp Registers the advanced encoder-query handler.
obs-studio-server/​source/​nodeobs_auto_optimizer.cpp Implements optimizer caps, probes, fallback, and warnings.
obs-studio-client/​tests/​auto-optimizer-quality-policy-test.cpp Covers new quality policies.
obs-studio-client/​tests/​auto-optimizer-enhanced-broadcasting-policy-test.cpp Covers Enhanced Broadcasting policy changes.
obs-studio-client/​tests/​auto-optimizer-client-contract-test.cpp Tests result validation and warning projection.
obs-studio-client/​source/​auto-optimizer-client-contract.cpp Validates paired results and projects warnings.
js/​module.ts Documents the expanded public API behavior.
js/​module.d.ts Exposes output warnings in declarations.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@summeroff
summeroff merged commit 4a7e6f7 into staging Oct 8, 2026
20 checks passed
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.

4 participants