Skip to content

Fixed saving non-common encoder settings - #1770

Merged
summeroff merged 8 commits into
stagingfrom
fix-encoder-settings
Sep 9, 2026
Merged

Fixed saving non-common encoder settings#1770
summeroff merged 8 commits into
stagingfrom
fix-encoder-settings

Conversation

@aleksandr-voitenko

@aleksandr-voitenko aleksandr-voitenko commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator

Description

This is the OSN part of a coordinated fix with Desktop. Desktop passes the complete settings explicitly to VideoEncoderFactory.create and refreshes saved audio track settings.

The simplest way to reproduce the existing issue is to set keyframe interval to some desired value, make a recording and check keyframes in the resulting file. Now, it's always 4.166 (a default value).

Motivation and Context

Desktop’s Factory API migration left a gap between saved UI settings and encoder creation. Recording forwarded only bitrate and rate control, streaming forwarded a limited subset, and Advanced audio tracks were created with a hardcoded 160 Kbps bitrate.

Settings therefore remained visible in the UI while encoders used defaults or hardcoded values. For example, a requested one-second keyframe interval could produce approximately 4.166-second intervals with x264 at 60 FPS.

The new API reads settings without creating outputs or modifying configuration files. Existing service restrictions, recording quality policies, and legacySettings accessors remain in place.

Regression tests inspect real recordings with ffprobe, checking one- and two-second keyframe intervals and 160/320 Kbps AAC tracks across settings changes. Streaming encoder coverage uses local recordings without transmitting a live stream.

How Has This Been Tested?

Manually, Windows only + automated tests

Types of changes

  • Bug fix (non-breaking change which fixes an issue)

Comment thread tests/osn-tests/src/test_osn_encoder_settings.ts Fixed
Comment thread tests/osn-tests/src/test_osn_encoder_settings.ts Fixed
Comment thread tests/osn-tests/src/test_osn_encoder_settings.ts Fixed
@aleksandr-voitenko aleksandr-voitenko changed the title [WIP] Fixed saving non-common encoder settings Fixed saving non-common encoder settings Sep 9, 2026
@summeroff
summeroff merged commit 91426ad into staging Sep 9, 2026
27 of 30 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.

3 participants