fix(streamer): align 10-bit color negotiation and codec gating with official client - #994
Merged
Merged
Conversation
…fficial client CloudMatch now sends the official 15-field requestedStreamingFeatures set (codec, bitrate, vsync, channel count, QoS, touch, and dynamic policy stay client-side/RTSP-only); session metadata drops non-official pairs and externalAppId. Codec selection stays client-side end to end with settings fallbacks, and HDR validation uses the normalized codec. NVST ANNOUNCE states color explicitly per the vendor capture (literal bitDepth plus chroma_format_idc, dynamicRangeMode for HDR only) and carries maxCodec/maxH264 profile/level for encoder init, replacing the delta-suppressed 0/1 encoding that left seats unable to start Main10 video. Settings pages grey out codecs per selected color quality via core-resolved descriptors (H.264 is 8-bit 4:2:0 only, AV1 is 4:2:0 only), gate 10-bit/HDR on Ultimate/Performance membership and 4:4:4 on Ultimate plus Windows/macOS, and heal persisted invalid codec/color combos toward Auto on first launch.
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
rustfmt formatting for the color-negotiation changes; clippy-suggested De Morgan simplifications including two pre-existing nonminimal-bool sites surfaced by the current stable toolchain.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Aligns color negotiation end to end with the official GeForce NOW client (verified against Bifrost 2.0.84.127 disassembly, vendor ANNOUNCE captures, and the public support docs) to fix H.265 10-bit 4:2:0 sessions hanging on 'Waiting for the first video frame'.
equestedStreamingFeatures\ set. Codec, bitrate ceiling, vsync, channel count, QoS policy, touch support, and the dynamic quality policy stay client-side/RTSP-only; session metadata keeps SubSessionId + surroundAudioInfo; \externalAppId\ dropped. Codec resolution falls back to settings everywhere, HDR validation uses the normalized codec, and the RTSP dynamic policy falls back to live \saveBandwidth.
Verification
pm run locales:check: green (\en.json\ only).