)]}'
{
  "commit": "928102e64d3c6a7355e5e0e264701d804e54dbf1",
  "tree": "89b72377f6891a5254de666f23c78b274a5140aa",
  "parents": [
    "1d37b7154016715956e4ddc52da7789a851f86c7"
  ],
  "author": {
    "name": "Henrik Boström",
    "email": "hbos@webrtc.org",
    "time": "Wed Sep 24 12:34:52 2025"
  },
  "committer": {
    "name": "WebRTC LUCI CQ",
    "email": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Sep 24 13:59:19 2025"
  },
  "message": "Add ability to toggle PixelLimitResource \"on\" and \"off\" periodically.\n\nPixelLimitResource is a testing-only resource that influences adaptation\nby periodically signaling kOveruse (\u003d \"adapt down please\") and kUnderuse\n(\u003d \"adapt up please\") in order to try to achieve a target resolution\n(expressed as pixel count). The old way to enable it was, for example:\n--force-fieldtrials\u003dWebRTC-PixelLimitResource/Enabled-230400/\n\nThis CL parameterizes it and adds a new parameters, for example:\n--force-fieldtrials\u003dWebRTC-PixelLimitResource/\ntarget_pixels:230400,interval:1s,toggle:5s/\n\nExplanation:\n- target_pixels: Is the target pixel count, same as the old behavior.\n- interval: The interval at which to check if kOveruse/kUnderuse needs\n  to be reported. This was previously hard-coded to 5s but by allowing\n  overriding this value you can make the resource faster or slower.\n- toggle: If specified, toggles \"on\" or \"off\" at this interval. If not\n  specified we don\u0027t toggle which was the old behavior.\n\nBy toggling we can test not just what happens when we adapt down, but\nalso that we can recover once a resource is no longer overused.\n\nIn addition to unit tests, also tested manually at\nhttps://henbos.github.io/codec-quality/src/index.html using parameters\n\"target_pixels:64800,interval:1s,toggle:10s\". Result is rapidly\ntoggling between QVGA (cpu-limited) and HD (no adaptation) every 10s.\n\nBug: webrtc:447037084\nChange-Id: I56fe4a9c14abf38de55b4b631f401ca84656a094\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/411581\nReviewed-by: Guido Urdaneta \u003cguidou@webrtc.org\u003e\nCommit-Queue: Henrik Boström \u003chbos@webrtc.org\u003e\nCr-Commit-Position: refs/heads/main@{#45727}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2c2b5d866e7e4a77b8f19b12dde9008059384a44",
      "old_mode": 33188,
      "old_path": "video/adaptation/BUILD.gn",
      "new_id": "b8a0ef65e36432f4cca99ca06a876ca0578e4acc",
      "new_mode": 33188,
      "new_path": "video/adaptation/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "04730b6147649ec394c7bb21f2c27fb9dd67f0f1",
      "old_mode": 33188,
      "old_path": "video/adaptation/pixel_limit_resource.cc",
      "new_id": "f36b40698732c3611bfe8945a1f02384bb6ca41c",
      "new_mode": 33188,
      "new_path": "video/adaptation/pixel_limit_resource.cc"
    },
    {
      "type": "modify",
      "old_id": "278a348028e285636952691d9161b5edf52a93b2",
      "old_mode": 33188,
      "old_path": "video/adaptation/pixel_limit_resource.h",
      "new_id": "930f2945da013a81a910add10cb81b935814fa27",
      "new_mode": 33188,
      "new_path": "video/adaptation/pixel_limit_resource.h"
    },
    {
      "type": "modify",
      "old_id": "ec6d2a8741b149ea89f4c82a35830a72b9575526",
      "old_mode": 33188,
      "old_path": "video/adaptation/pixel_limit_resource_unittest.cc",
      "new_id": "4f6c15d94d332d2b5f365c738c8af4ddf9fa5751",
      "new_mode": 33188,
      "new_path": "video/adaptation/pixel_limit_resource_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "d486cad408e1acfd62e5e927e96f34c05cacfae0",
      "old_mode": 33188,
      "old_path": "video/adaptation/video_stream_encoder_resource_manager.cc",
      "new_id": "99ddaf72f5daf27f06c653b47b52680e039fd512",
      "new_mode": 33188,
      "new_path": "video/adaptation/video_stream_encoder_resource_manager.cc"
    },
    {
      "type": "modify",
      "old_id": "34c31af2ab23f6b3fbaf51440ef1c5a70ee3482a",
      "old_mode": 33188,
      "old_path": "video/adaptation/video_stream_encoder_resource_manager.h",
      "new_id": "66c94581dd75b705751ee89aabdc7667ea76976e",
      "new_mode": 33188,
      "new_path": "video/adaptation/video_stream_encoder_resource_manager.h"
    }
  ]
}
