← Back to release summary

RTCDegradationPreference enum value "maintain-framerate-and-resolution"

Category
WebRTC
Type
Chromium catches up
Status
Proposed (Chrome Proposed)
Intent stage
None

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.

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

Standards & signals

View on chromestatus.com