Hi Alex,

Google Meet needs this functionality. It gives WebRTC-based apps better 
control over video quality and performance. It has been reviewed and 
approved <https://www.w3.org/2025/09/16-webrtc-minutes.html#cb3e> by 
representatives of Mozilla, Meta, Apple and Microsoft at a WebRTC WG 
meeting. This is a small, incremental change that exposes an existing mode 
<https://webrtc-review.googlesource.com/c/src/+/415200> to JS.

Regards,
Sergey

On Wednesday, October 22, 2025 at 5:11:56 PM UTC+2 Alex Russell wrote:

> Heya Sergey,
>
> This seems like a great addition, but I'm not sure why we're adding this 
> now? Are there any developers clamouring for it? Any sites that we know 
> will benefit?
>
> A short explainer that explains why this is an important problem to solve 
> would help me here, particularly that there are no signals and we're going 
> first, which raises the first-mover disadvantage risk.
>
> Best,
>
> Alex
>
> On Wednesday, October 22, 2025 at 4:41:25 AM UTC-7 Chromestatus wrote:
>
>> *Contact emails*
>> [email protected]
>>
>> *Specification*
>>
>> https://www.w3.org/TR/mst-content-hint/#dom-rtcdegradationpreference-maintain-framerate-and-resolution
>>  
>>
>> *Summary*
>> "maintain-framerate-and-resolution" disables WebRTC's internal video 
>> adaptation. This enables the application to implement its own adaptation 
>> logic and prevents interference from the internal adaptation. From 
>> https://www.w3.org/TR/mst-content-hint/#dom-rtcdegradationpreference-maintain-framerate-and-resolution:
>>  
>> Maintain framerate and resolution regardless of video quality. The user 
>> agent SHOULD NOT prefer reducing the framerate or resolution for quality 
>> and performance reasons, but MAY drop frames before encoding if necessary 
>> not to overuse network and encoder resources. 
>>
>> *Blink component*
>> Blink>WebRTC>PeerConnection 
>> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EWebRTC%3EPeerConnection%22>
>>
>> *Web Feature ID*
>> webrtc <https://webstatus.dev/features/webrtc> 
>>
>> *Motivation*
>> WebRTC has an internal video adaptation mechanism that optimizes video 
>> quality and performance by adjusting encoding settings. This mechanism 
>> relies on hardcoded logic and thresholds, which may not yield optimal 
>> results across diverse use cases. Application may benefit from implementing 
>> and using its own, external adaptation. For the external adaptation to work 
>> properly, the internal one needs to be disabled. 
>> "maintain-framerate-and-resolution" allows to disable the WebRTC's internal 
>> adaptation. WebRTC WG presentation: 
>> https://docs.google.com/presentation/d/11rr8X4aOao1AmvyoDLX8o9CPCmnDHkWGRM3nB4Q_104/edit?slide=id.g3657813d9b5_0_0#slide=id.g3657813d9b5_0_0
>>  
>>
>> *Initial public proposal*
>> *No information provided*
>>
>> *TAG review*
>> *No information provided* 
>>
>> *TAG review status*
>> Not applicable 
>>
>> *Risks*
>>
>>
>> *Interoperability and Compatibility*
>> *No information provided* 
>>
>> *Gecko*: No signal
>>
>> *WebKit*: No signal
>>
>> *Web developers*: No signals
>>
>> *Other signals*:
>>
>> *WebView application risks*
>>
>> Does this intent deprecate or change behavior of existing APIs, such that 
>> it has potentially high risk for Android WebView-based applications? 
>> Low risk. This change adds "maintain-framerate-and-resolution" to the 
>> RTCDegradationPreference enum. This new mode will not be used as a default 
>> or as a fallback option. 
>>
>>
>> *Debuggability*
>> *No information provided* 
>>
>> *Will this feature be supported on all six Blink platforms (Windows, Mac, 
>> Linux, ChromeOS, Android, and Android WebView)?*
>> Yes
>>
>> *Is this feature fully tested by web-platform-tests 
>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?*
>> No 
>>
>>
>> *Flag name on about://flags*
>> *No information provided* 
>>
>> *Finch feature name*
>> *No information provided* 
>>
>> *Non-finch justification*
>> *No information provided*
>>
>> *Rollout plan*
>> Will ship enabled for all users
>>
>> *Requires code in //chrome?*
>> False
>>
>> *Estimated milestones*
>> Shipping on desktop 144 
>> Shipping on Android 144 
>> Shipping on WebView 144 
>>
>> *Anticipated spec changes*
>>
>> Open questions about a feature may be a source of future web compat or 
>> interop issues. Please list open issues (e.g. links to known github issues 
>> in the project for the feature specification) whose resolution may 
>> introduce web compat/interop risk (e.g., changing to naming or structure of 
>> the API in a non-backward-compatible way). 
>> *No information provided*
>>
>> *Link to entry on the Chrome Platform Status*
>> https://chromestatus.com/feature/5156290162720768?gate=5857376464928768
>>
>> This intent message was generated by Chrome Platform Status 
>> <https://chromestatus.com>. 
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/c36bff7b-bb31-4b3e-99f7-380d094c3b0bn%40chromium.org.

Reply via email to