Skip to content

Add negotiated bandwidth-saving quality policy - #970

Merged
capy-ai[bot] merged 2 commits into
devfrom
capy/save-bandwidth-with-adaptive-bitrate
Sep 16, 2026
Merged

capy-ai[bot] merged 2 commits into
devfrom
capy/save-bandwidth-with-adaptive-bitrate

Conversation

@zortos293

@zortos293 zortos293 commented Sep 16, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Adds a default-off Save bandwidth control to the Qt desktop and console settings. New sessions request NVIDIA's prefer-FPS dynamic quality policy. The core preserves the policy in the negotiated session profile, and NVST ANNOUNCE uses that profile rather than a mutable preference. Resumed sessions keep their original policy.

The change also adds a real FFmpeg regression for a midstream resolution change. Existing decoder, format-change and Vulkan image-reallocation paths remain the presentation owners.

Independent verification

  • cargo test --manifest-path native/opennow-core/Cargo.toml --locked: 420 passed, 4 ignored.
  • cargo test --manifest-path native/opennow-streamer/Cargo.toml --workspace --locked --features linux-ffmpeg-bundled: 681 passed, 16 ignored.
  • Explicitly ran the normally ignored real-codec test with the same workspace command plus ffmpeg_software_decoder_reports_a_midstream_resolution_change -- --ignored. It passed with real H.264 packets at 256x144 and 320x180.
  • Locked strict Clippy, formatting, 158 Python contract tests and npm run locales:check passed.
  • Debug Qt build and 5 focused settings tests passed. ctest --test-dir build/opennow-qt --output-on-failure passed 342/342.
  • The frozen 12-file tree matched the tested checkpoint byte-for-byte before publication.

No live vendor session, GPU adaptation measurement or bandwidth-reduction benchmark was performed. The setting requests the server policy; it does not promise a particular reduction.

Rendered acceptance fixture

Save bandwidth in Qt streaming settings

Dependency

Base: capy/enable-capability-gated-360-fps at b470c330c59d411ad18eb03b5a629d0f8e920896. Land #968 and its parents first, then revalidate the integrated stack.

@coderabbitai

coderabbitai Bot commented Sep 16, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

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: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 32b17202-d04f-4eaf-a179-afedacf2c08a

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

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.

@capy-ai
capy-ai Bot changed the base branch from capy/enable-capability-gated-360-fps to dev September 16, 2026 08:45
@capy-ai

capy-ai Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Resolved the actual integration conflicts in normal merge 57eaff9a, preserving store-launch and bandwidth localization, resources, and smoke workload routes. The merged feature diff remains limited to the published bandwidth slice; the separate network-test layer is not pulled in early.

Independent verification passed 574 core tests with 4 ignored and 773 bundled-FFmpeg native tests with 16 ignored, strict locked Clippy in both workspaces, and formatting. The worker rebuilt Qt, passed all 349 Qt tests, reran the real midstream-resolution-change fixture, and inspected the rendered bandwidth setting. Required cross-platform CI is now running on the updated head.

@capy-ai
capy-ai Bot merged commit f0707c8 into dev Sep 16, 2026
14 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.

1 participant