Skip to content

Fix selective recording in Simple output mode - #1798

Merged
summeroff merged 3 commits into
stagingfrom
fix-simple-selective-recording
Oct 2, 2026
Merged

summeroff merged 3 commits into
stagingfrom
fix-simple-selective-recording

Conversation

@aleksandr-voitenko

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

Copy link
Copy Markdown
Collaborator

Description

Fix Simple recording’s HighQuality and HigherQuality presets to use OBS_RECORDING_VIDEO_RENDERING when selective recording is enabled. Previously, they selected OBS_STREAMING_VIDEO_RENDERING, causing recordings to follow stream visibility instead of recording visibility.

Add integration tests that inspect decoded recording frames for all four stream/recording visibility combinations. Cover both Simple presets with selective recording enabled and disabled, plus Advanced recording with a dedicated encoder.

Add an RGB frame decoding helper, packaged FFmpeg lookup, and instructions for running the focused suite.

Motivation and Context

Sources excluded from recording could appear in saved videos, while sources visible only in recordings could disappear. This occurred during ordinary recording without starting streaming or a replay buffer.

The regression tests verify saved video content, including a background control that rejects empty or black recordings.

How Has This Been Tested?

Integration tests, manual tests. Windows only.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • Documentation (a change to documentation pages)

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.

Copilot review overview

🟡 Changes recommended

Frame-dimension validation and platform handling in the new integration suite need correction.

Review effort: Balanced
Findings: 2 Medium severity

Open (2)
What changed in this PR

Fixes Simple-mode selective recording so saved videos follow recording visibility rather than stream visibility.

Changes:

  • Corrects the render mix for HighQuality and HigherQuality presets.
  • Adds decoded-frame integration tests for visibility combinations.
  • Adds RGB inspection helpers, packaged FFmpeg lookup, and test instructions.
File Description
tests/​osn-tests/​util/​README.md Documents selective-recording tests and helpers.
tests/​osn-tests/​util/​media_probe.ts Adds RGB decoding and packaged FFmpeg lookup.
tests/​osn-tests/​util/​media_assertions.ts Adds region-color assertions.
tests/​osn-tests/​src/​test_osn_selective_recording.ts Tests Simple and Advanced recording visibility.
obs-studio-server/​source/​osn-simple-recording.cpp Selects the recording render mix.

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

Comment thread tests/osn-tests/src/test_osn_selective_recording.ts
Comment thread tests/osn-tests/util/media_probe.ts Outdated
@summeroff
summeroff merged commit 40a4be2 into staging Oct 2, 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