)]}'
{
  "commit": "718e2df8d18c20e0fc9a03f1e77eca3776c6dc3d",
  "tree": "ab17c13e2c683079a74baf7ae36f758a434eaf51",
  "parents": [
    "264b57cf94f67174ce49c2897e6065ae4d341690"
  ],
  "author": {
    "name": "Harald Alvestrand",
    "email": "hta@webrtc.org",
    "time": "Thu May 14 08:55:15 2026"
  },
  "committer": {
    "name": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu May 14 15:16:26 2026"
  },
  "message": "[PT Redesign] Implement late payload type allocation for video.\n\nThis CL implements the late payload type allocation strategy for video\ncodecs, matching the existing implementation for audio.\n\nKey changes:\n- Introduced CodecConfiguration and ResiliencyInfo to track codec\n  metadata without pre-assigned payload types.\n- Implemented MergeCodecsFromConfigurations in CodecVendor to expand\n  media codecs into their resiliency counterparts (RTX, RED, FEC) and\n  link them only after primary PTs are suggested.\n- Extracted MergeCodecsByDirection to unify direction-based merging\n  logic across offer and answer paths.\n- Relaxed RTX matching in CodecComparators to support negotiation before\n  PTs are fully linked.\n- Updated all call sites in pc/ to handle refactored CodecVendor\n  accessors.\n- Added integration tests in\n  pc/codec_vendor_redesign_unittest.cc.\n\nThis work allows payload types to be assigned permanently during\nSetLocalDescription/SetRemoteDescription, improving stability across\nrenegotiations.\n\nBug: webrtc:360058654\nChange-Id: Ifae3f3daca1b18a3ada2131a57046ce4ff3dcd36\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/472060\nReviewed-by: Tomas Gunnarsson \u003ctommi@webrtc.org\u003e\nCommit-Queue: Harald Alvestrand \u003chta@webrtc.org\u003e\nCr-Commit-Position: refs/heads/main@{#47709}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fd11fedf987e25918d2073021b596ed9f15777b3",
      "old_mode": 33188,
      "old_path": "g3doc/todo/payload_type_redesign.md",
      "new_id": "3f3ea1658144462dde49c48e49b71fe3d1361394",
      "new_mode": 33188,
      "new_path": "g3doc/todo/payload_type_redesign.md"
    },
    {
      "type": "modify",
      "old_id": "f088fc4f47b1c055f7b383d97619aa72682cef4e",
      "old_mode": 33188,
      "old_path": "media/base/codec_comparators.cc",
      "new_id": "859cf434e9c9f787d1843d35b43c2e9b04f61f4f",
      "new_mode": 33188,
      "new_path": "media/base/codec_comparators.cc"
    },
    {
      "type": "modify",
      "old_id": "e17db1e5ea48a865da3879425f83e38322e7570b",
      "old_mode": 33188,
      "old_path": "pc/BUILD.gn",
      "new_id": "8054c4645ccb89de130a3d4a710e982ca65de70c",
      "new_mode": 33188,
      "new_path": "pc/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "16a791b89e64b8074ffaf75899cc22e2b6d5f847",
      "old_mode": 33188,
      "old_path": "pc/codec_vendor.cc",
      "new_id": "96b3ebe5b9a6700da053ebfeef64b8ddd040ef87",
      "new_mode": 33188,
      "new_path": "pc/codec_vendor.cc"
    },
    {
      "type": "modify",
      "old_id": "a2ad1c45bd0ad6b8f02082c3475df59c944a3014",
      "old_mode": 33188,
      "old_path": "pc/codec_vendor.h",
      "new_id": "a78e0c5b092f3571f9e1474fe6f947502b976138",
      "new_mode": 33188,
      "new_path": "pc/codec_vendor.h"
    },
    {
      "type": "modify",
      "old_id": "6f6bba81a9b3dd6d600bc53f018b59a328ba53ef",
      "old_mode": 33188,
      "old_path": "pc/codec_vendor_redesign_unittest.cc",
      "new_id": "b58aa388029da601d29b4d68f5f4e66d92277aa0",
      "new_mode": 33188,
      "new_path": "pc/codec_vendor_redesign_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "e4f973bccbbf2d00bfd1cb14811b8b6340c37670",
      "old_mode": 33188,
      "old_path": "pc/codec_vendor_unittest.cc",
      "new_id": "d86306daf65400762a8aea61c84e3ea945e13bf0",
      "new_mode": 33188,
      "new_path": "pc/codec_vendor_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "f27d4c6cc54200fc85b768b36d7843e1214f6e88",
      "old_mode": 33188,
      "old_path": "pc/media_session_unittest.cc",
      "new_id": "664c91a0e7546836fcf3b21e7f2b1815b7f56871",
      "new_mode": 33188,
      "new_path": "pc/media_session_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "b0599defc8c3bb023a2aa0371e1e513364603d03",
      "old_mode": 33188,
      "old_path": "pc/typed_codec_vendor.cc",
      "new_id": "20b2d66e902f8522d0f0054e11637fe374ef5810",
      "new_mode": 33188,
      "new_path": "pc/typed_codec_vendor.cc"
    }
  ]
}
