| commit | 928102e64d3c6a7355e5e0e264701d804e54dbf1 | [log] [tgz] |
|---|---|---|
| author | Henrik Boström <hbos@webrtc.org> | Wed Sep 24 12:34:52 2025 |
| committer | WebRTC LUCI CQ <webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Sep 24 13:59:19 2025 |
| tree | 89b72377f6891a5254de666f23c78b274a5140aa | |
| parent | 1d37b7154016715956e4ddc52da7789a851f86c7 [diff] |
Add ability to toggle PixelLimitResource "on" and "off" periodically. PixelLimitResource is a testing-only resource that influences adaptation by periodically signaling kOveruse (= "adapt down please") and kUnderuse (= "adapt up please") in order to try to achieve a target resolution (expressed as pixel count). The old way to enable it was, for example: --force-fieldtrials=WebRTC-PixelLimitResource/Enabled-230400/ This CL parameterizes it and adds a new parameters, for example: --force-fieldtrials=WebRTC-PixelLimitResource/ target_pixels:230400,interval:1s,toggle:5s/ Explanation: - target_pixels: Is the target pixel count, same as the old behavior. - interval: The interval at which to check if kOveruse/kUnderuse needs to be reported. This was previously hard-coded to 5s but by allowing overriding this value you can make the resource faster or slower. - toggle: If specified, toggles "on" or "off" at this interval. If not specified we don't toggle which was the old behavior. By toggling we can test not just what happens when we adapt down, but also that we can recover once a resource is no longer overused. In addition to unit tests, also tested manually at https://henbos.github.io/codec-quality/src/index.html using parameters "target_pixels:64800,interval:1s,toggle:10s". Result is rapidly toggling between QVGA (cpu-limited) and HD (no adaptation) every 10s. Bug: webrtc:447037084 Change-Id: I56fe4a9c14abf38de55b4b631f401ca84656a094 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/411581 Reviewed-by: Guido Urdaneta <guidou@webrtc.org> Commit-Queue: Henrik Boström <hbos@webrtc.org> Cr-Commit-Position: refs/heads/main@{#45727}
WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.
See here for instructions on how to get started developing with the native code.
Authoritative list of directories that contain the native API header files.