)]}'
{
  "commit": "443e7ada92c3247dd294c6d8d1d95217b6dec715",
  "tree": "8d642ebd0d9e4f2b66477c73c4eb04d43d01402b",
  "parents": [
    "c9752917bd482d964d6a8a1de9bbe3b300fdc1a5"
  ],
  "author": {
    "name": "Tommi",
    "email": "tommi@webrtc.org",
    "time": "Sun Mar 29 16:33:30 2026"
  },
  "committer": {
    "name": "WebRTC LUCI CQ",
    "email": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Mar 30 12:24:04 2026"
  },
  "message": "Synchronize final stats collection in E2E quality tests\n\nThe PeerConnectionE2EQualityTest framework previously lost final\nmetrics, such as payload_bytes_received, because it did not wait for\nasynchronous RTCStatsCollector::GetStats() calls to complete during test\nteardown.\n\nThis change ensures all stats are captured by:\n- Tracking pending asynchronous requests in InternalStatsObserver\n  using a counter and a new IsPolling() method.\n- Implementing a synchronization point in the test runner that uses\n  the time controller to wait until StatsPoller reports no active\n  polling.\n- Adding an optional polling delay to StatsPoller to help simulate\n  and verify fixes for race conditions in asynchronous stat\n  delivery.\n\nBug: webrtc:481443652\nChange-Id: Ie689bdab4843780c765e8ffd2668d63863328026\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/461000\nCommit-Queue: Tomas Gunnarsson \u003ctommi@webrtc.org\u003e\nReviewed-by: Åsa Persson \u003casapersson@webrtc.org\u003e\nCr-Commit-Position: refs/heads/main@{#47295}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "20b8524eebd8e87346cffb5c7424118ddd3d90fa",
      "old_mode": 33188,
      "old_path": "test/pc/e2e/BUILD.gn",
      "new_id": "d52cae5c5bba6695f89835a68d87793098db2d7e",
      "new_mode": 33188,
      "new_path": "test/pc/e2e/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "05251f616a168b45d27337ee399b6e55f45565c3",
      "old_mode": 33188,
      "old_path": "test/pc/e2e/peer_connection_quality_test.cc",
      "new_id": "ae2ea68723c2cc417b6964fba002cce1c244ecf0",
      "new_mode": 33188,
      "new_path": "test/pc/e2e/peer_connection_quality_test.cc"
    },
    {
      "type": "modify",
      "old_id": "77bf73507b372b684fb71c85b3b3170a77f9dd17",
      "old_mode": 33188,
      "old_path": "test/pc/e2e/peer_connection_quality_test.h",
      "new_id": "1888f66098a0e4d637c209aaad77d8dc42b318f7",
      "new_mode": 33188,
      "new_path": "test/pc/e2e/peer_connection_quality_test.h"
    },
    {
      "type": "modify",
      "old_id": "94e2d58c31beadec421a82bd277c91cb8fe76fd7",
      "old_mode": 33188,
      "old_path": "test/pc/e2e/peer_connection_quality_test_test.cc",
      "new_id": "8168b53a6ce70822e5d2eae0643b55cb5a871ef2",
      "new_mode": 33188,
      "new_path": "test/pc/e2e/peer_connection_quality_test_test.cc"
    },
    {
      "type": "modify",
      "old_id": "29533ac6377fb21e379109d0cf28f9cfd362680d",
      "old_mode": 33188,
      "old_path": "test/pc/e2e/stats_poller.cc",
      "new_id": "d2ca30e00887a5c046979a7a2fb7fa27282de5c0",
      "new_mode": 33188,
      "new_path": "test/pc/e2e/stats_poller.cc"
    },
    {
      "type": "modify",
      "old_id": "f9b8890652d13e5cfb386b20a4fad8a8b6304372",
      "old_mode": 33188,
      "old_path": "test/pc/e2e/stats_poller.h",
      "new_id": "541e943ada3e07779c3bcfbfe7ec8c315f79c162",
      "new_mode": 33188,
      "new_path": "test/pc/e2e/stats_poller.h"
    }
  ]
}
