)]}'
{
  "commit": "0e41de1ecac67ef7dde1f8adb2442b26f2240945",
  "tree": "f2c7cbdaa407fdccc5bf4ae97c5e9165f52372d0",
  "parents": [
    "cae471a48c13472b92300dd9cb7c41925f38f03a"
  ],
  "author": {
    "name": "Tommi",
    "email": "tommi@webrtc.org",
    "time": "Tue Apr 21 21:42:59 2026"
  },
  "committer": {
    "name": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Apr 21 22:46:18 2026"
  },
  "message": "Introduce SetSsrcTask and batch SetSsrc in ApplyLocalDescription\n\nThe existing SetSsrc implementation in RtpSender required multiple\nsynchronous blocking calls to the worker thread. In scenarios with many\ntransceivers this was a significant performance bottleneck.\n\nThis change introduces SetSsrcTask, which allows SetSsrc operations to\nbe decomposed into asynchronous tasks. By using ScopedOperationsBatcher,\nthese tasks are now batched and executed efficiently on the worker\nthread. The existing SetSsrc will be for PlanB only.\n\nKey modifications:\n* Added SetSsrcTask to the RtpSenderInternal interface to return a\n  batchable task containing both worker and signaling thread logic.\n* Updated SdpOfferAnswer::ApplyLocalDescription to use\n  ScopedOperationsBatcher, reducing the number of thread context\n  switches.\n* Moved media channel configurations (frame encryptors,\n  transformers, and selectors) into the batched worker task.\n* Marked the legacy SetSsrc method as Plan B only.\n\nBug: webrtc:42222117\nChange-Id: I49cfbeef4764d8423d678eec4f5c8017374e3187\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/465020\nReviewed-by: Danil Chapovalov \u003cdanilchap@webrtc.org\u003e\nCommit-Queue: Tomas Gunnarsson \u003ctommi@webrtc.org\u003e\nCr-Commit-Position: refs/heads/main@{#47507}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "57026b684ca9f0471c77a66686508a83dfb4a84b",
      "old_mode": 33188,
      "old_path": "pc/BUILD.gn",
      "new_id": "1b7768f575d4fef0c91ad82a9cc7776b91353465",
      "new_mode": 33188,
      "new_path": "pc/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "60c4f13312439189ec0556d10ded5656b31e56f9",
      "old_mode": 33188,
      "old_path": "pc/rtc_stats_collector_unittest.cc",
      "new_id": "ef924823136b8646195b67d91db83902c04e0869",
      "new_mode": 33188,
      "new_path": "pc/rtc_stats_collector_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "2a03b20cc77c1cafb5024a346a973602c037a673",
      "old_mode": 33188,
      "old_path": "pc/rtp_sender.cc",
      "new_id": "5fbb37f4b35911ca48e6c9b8c1ecf4346fc8ae70",
      "new_mode": 33188,
      "new_path": "pc/rtp_sender.cc"
    },
    {
      "type": "modify",
      "old_id": "60b3ce0c7165509e2326a2a6379a6d12f40be253",
      "old_mode": 33188,
      "old_path": "pc/rtp_sender.h",
      "new_id": "d0b6f80c8ff38164348dabf3e38f66ea86b585af",
      "new_mode": 33188,
      "new_path": "pc/rtp_sender.h"
    },
    {
      "type": "modify",
      "old_id": "b44a550860baf5b01972ee6dc8ca546534c2804a",
      "old_mode": 33188,
      "old_path": "pc/rtp_sender_receiver_unittest.cc",
      "new_id": "ee1364711e688c42d836d517f6800ca8933d61a9",
      "new_mode": 33188,
      "new_path": "pc/rtp_sender_receiver_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "2493ca6f24c3650ae48dc44131c031e152a3ee44",
      "old_mode": 33188,
      "old_path": "pc/sdp_offer_answer.cc",
      "new_id": "c3a66d680d2b103d5140e299e99bd3b5d14b1c86",
      "new_mode": 33188,
      "new_path": "pc/sdp_offer_answer.cc"
    },
    {
      "type": "modify",
      "old_id": "913ddcedc30db3d7d979396c09866e7109550f1f",
      "old_mode": 33188,
      "old_path": "pc/sdp_offer_answer.h",
      "new_id": "5db241aa17e19da503528cd15cd8d2cb8e787c8a",
      "new_mode": 33188,
      "new_path": "pc/sdp_offer_answer.h"
    },
    {
      "type": "modify",
      "old_id": "24f19bc0fefb916e184e273d8a35535301c2fc91",
      "old_mode": 33188,
      "old_path": "pc/test/mock_rtp_sender_internal.h",
      "new_id": "8b3c9a013dd73cf80355d3c9e8f7da876371ca70",
      "new_mode": 33188,
      "new_path": "pc/test/mock_rtp_sender_internal.h"
    },
    {
      "type": "modify",
      "old_id": "8b1a59e8af4d978e6a980d55b07fc968c69a3019",
      "old_mode": 33188,
      "old_path": "pc/transceiver_list.cc",
      "new_id": "5234038681d493051a36f1e81ad2839a4a23cb76",
      "new_mode": 33188,
      "new_path": "pc/transceiver_list.cc"
    },
    {
      "type": "modify",
      "old_id": "0f41e56ad962c0446d17fd5bda1c9d39a31c341d",
      "old_mode": 33188,
      "old_path": "pc/transceiver_list.h",
      "new_id": "5136449a928b15bc634da79252b0d946ee7fad1a",
      "new_mode": 33188,
      "new_path": "pc/transceiver_list.h"
    }
  ]
}
