)]}'
{
  "commit": "732e34399f55939c1ef7ac0e04f7cd98ea0e7521",
  "tree": "5d3ae25ca5a4c1b14c3d768561700dc86f243c51",
  "parents": [
    "5707070dca842a692cbd1fe03e8a6525ff2b30f1"
  ],
  "author": {
    "name": "Tim Na",
    "email": "natim@google.com",
    "time": "Wed Jun 17 17:49:58 2026"
  },
  "committer": {
    "name": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Jun 22 17:05:25 2026"
  },
  "message": "NetEq Smart Flushing\n\nPreviously reverted but this feature is found to be useful in a\nconditions where NeqEq buffer bloats and stays for prolonged duration\n(10~15s). Original CL (https://webrtc-review.git.corp.google.com/c/src/+/193941).\n\nThis CL includes a fix on Units Mismatch (Samples vs. Milliseconds) in PartialFlush. In the original patch, the safety floor for flushing (target_level_threshold_ms, in milliseconds) was compared directly to the target buffer limit (target_level_samples, in samples). This rendered the safety floor useless, causing NetEq to perform aggressive flushes down to extremely low delays (e.g. 10ms), ignoring the configured protection floor of 500ms.\n\nBug: webrtc:12201\nChange-Id: Ie51290d8332569f2c2f506eaaf3e8d8dc2904909\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/480020\nReviewed-by: Henrik Lundin \u003chenrik.lundin@webrtc.org\u003e\nCommit-Queue: Tim Na \u003cnatim@google.com\u003e\nReviewed-by: Jakob Ivarsson‎ \u003cjakobi@webrtc.org\u003e\nCr-Commit-Position: refs/heads/main@{#48058}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "90efd969f5628513941637fabbf1a4b9384fbbfc",
      "old_mode": 33261,
      "old_path": "experiments/field_trials.py",
      "new_id": "871b3c1df0668840dc8f796e2bb2efd28e6ffa5f",
      "new_mode": 33261,
      "new_path": "experiments/field_trials.py"
    },
    {
      "type": "modify",
      "old_id": "7876ebf6c4426e7b0687057a6e397e34532791aa",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/mock/mock_packet_buffer.h",
      "new_id": "3e20d8ddcf82da20b6b8af742a7df53aefad4d42",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/mock/mock_packet_buffer.h"
    },
    {
      "type": "modify",
      "old_id": "3b5f764ba9c85fcabb149333258772ab6e006c6b",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/neteq_impl.cc",
      "new_id": "c62645ff07dc7e9e264f36e2caaadcaabc78d080",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/neteq_impl.cc"
    },
    {
      "type": "modify",
      "old_id": "18b317747208f3b9608665151524895aa6ee872a",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/neteq_impl_unittest.cc",
      "new_id": "2bc47324920955c53ab564cec4e4f8c3fe54ff3a",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/neteq_impl_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "65f26046c129dbab7a7e588ec42df15bbc8bbf95",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/packet_buffer.cc",
      "new_id": "831b0528e07165887319bc29c21449ef31f732a5",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/packet_buffer.cc"
    },
    {
      "type": "modify",
      "old_id": "478dfd394d1e2b0431237c155f6276fa6c389d46",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/packet_buffer.h",
      "new_id": "cec8fedaf7ef858c268f83fee9eee0c05f729f1b",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/packet_buffer.h"
    },
    {
      "type": "modify",
      "old_id": "5851e4a0525f8ca98698359a9a9ad7baf2940ff5",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/packet_buffer_unittest.cc",
      "new_id": "dc3ebc2b7633ed6caee6ffca45120d7e48c635b0",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/packet_buffer_unittest.cc"
    }
  ]
}
