)]}'
{
  "commit": "2c3c984b00a5b6e15f661acfae23a512c81d5030",
  "tree": "415e2c36401f101b947d383b24dc1819abdc217a",
  "parents": [
    "1822467bec1c91b8d782e9c7f24342d1d65f01f2"
  ],
  "author": {
    "name": "Tommi",
    "email": "tommi@webrtc.org",
    "time": "Thu Apr 16 12:48:05 2026"
  },
  "committer": {
    "name": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Sat Apr 18 08:02:05 2026"
  },
  "message": "[M148] Allow signaled SSRCs to override learned bindings in RtpDemuxer\n\nUpdate RtpDemuxer to permit signaled SSRCs to override existing learned\nSSRC bindings. This prevents registration failures during session\nrenegotiation when an SSRC, previously identified through payload type\ndemuxing, is subsequently explicitly signaled.\n\nThe demuxer now maintains a set of signaled SSRCs to differentiate\nexplicit configurations from learned state. Conflict detection is\nmodified to allow these overrides while maintaining strict checks\nbetween multiple signaled SSRCs. This ensures that explicit signaling\nalways takes precedence over internally learned bindings, resolving\nrouting issues during media stream updates.\n\n(cherry picked from commit 186d42a3010981882a8679a145ce36aa84581c78)\n\nFixed: chromium:503666505\nBug: webrtc:502130956\nChange-Id: I551c2b7ee5af18fc9792ee52be08c5349c20b641\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/464220\nReviewed-by: Harald Alvestrand \u003chta@webrtc.org\u003e\nCommit-Queue: Tomas Gunnarsson \u003ctommi@webrtc.org\u003e\nCr-Original-Commit-Position: refs/heads/main@{#47446}\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/464764\nReviewed-by: Björn Terelius \u003cterelius@webrtc.org\u003e\nCr-Commit-Position: refs/branch-heads/7778@{#2}\nCr-Branched-From: ca896b7ffef011bbf6957c99d413c5aac602c99f-refs/heads/main@{#47319}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "598764b71c44d65d6e1c846d8435479c9c768506",
      "old_mode": 33188,
      "old_path": "call/rtp_demuxer.cc",
      "new_id": "e0783475442e74ee912313e7e341dd4db3162e7a",
      "new_mode": 33188,
      "new_path": "call/rtp_demuxer.cc"
    },
    {
      "type": "modify",
      "old_id": "cc6a84c87837b8405f0fa05d00fc2cbb77ac6fd3",
      "old_mode": 33188,
      "old_path": "call/rtp_demuxer.h",
      "new_id": "f2f76cb5625b3a8b5b6118f12ef81c125c80a46b",
      "new_mode": 33188,
      "new_path": "call/rtp_demuxer.h"
    },
    {
      "type": "modify",
      "old_id": "363d58aa132f331d8cb2c114f2ebcdc2d41931be",
      "old_mode": 33188,
      "old_path": "call/rtp_demuxer_unittest.cc",
      "new_id": "b878d2bbaefd0ad420461afa1e0eb926521df97b",
      "new_mode": 33188,
      "new_path": "call/rtp_demuxer_unittest.cc"
    }
  ]
}
