)]}'
{
  "commit": "8e4eb9d8d218cf54f53ff3389832bd86a68d3c6e",
  "tree": "59c5ab475af8aa2bf308da96e0282ce77ea24cb6",
  "parents": [
    "32e8bb9eed5d58488cecbfb79a01b62f4d9d015f"
  ],
  "author": {
    "name": "Tommi",
    "email": "tommi@webrtc.org",
    "time": "Mon Sep 28 18:49:53 2026"
  },
  "committer": {
    "name": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Sep 29 09:41:09 2026"
  },
  "message": "Don\u0027t truncate frame diffs in RtpGenericFrameDescriptor\n\nRtpGenericFrameDescriptor::AddFrameDependencyDiff() took a uint16_t, so\nframe diffs computed from 64-bit frame ids were silently truncated. A\ndiff that truncated into the valid range, e.g. 2^16 + 5, was accepted\nand written as a dependency on the wrong frame.\n\nTake the diff as int64_t and reject values that the descriptor can\u0027t\nrepresent. RTPSenderVideo ignores the result, so it now leaves such a\ndependency out rather than misrepresenting it. Leaving out the whole\ndescriptor instead would make the stream inconsistent, while the missing\ndependency only matters to receivers that lost the referenced frame.\nRtpDescriptorAuthentication calls the same method, so the authenticated\ndata still matches the descriptor that is sent.\n\nBug: webrtc:566342228\nChange-Id: I344a641a1b0956984ed69fc44d439d8adba021df\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/505901\nReviewed-by: Danil Chapovalov \u003cdanilchap@webrtc.org\u003e\nCommit-Queue: Tomas Gunnarsson \u003ctommi@webrtc.org\u003e\nCr-Commit-Position: refs/heads/main@{#48744}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "44124f3b469e472031a7d9dc49cd31dd9f0d9267",
      "old_mode": 33188,
      "old_path": "modules/rtp_rtcp/source/rtp_generic_frame_descriptor.cc",
      "new_id": "013d1593b856fc9c2fd661b91d1955517037d5ea",
      "new_mode": 33188,
      "new_path": "modules/rtp_rtcp/source/rtp_generic_frame_descriptor.cc"
    },
    {
      "type": "modify",
      "old_id": "4075bfef0e25bbbd5cc33a58c982ac5e7ad2b23f",
      "old_mode": 33188,
      "old_path": "modules/rtp_rtcp/source/rtp_generic_frame_descriptor.h",
      "new_id": "0c8a8477f984027b509ed01b2eb1c9c636cf96c1",
      "new_mode": 33188,
      "new_path": "modules/rtp_rtcp/source/rtp_generic_frame_descriptor.h"
    },
    {
      "type": "modify",
      "old_id": "4e3ac9be1226ac8f45172ecb19240ba8bbb7a491",
      "old_mode": 33188,
      "old_path": "modules/rtp_rtcp/source/rtp_generic_frame_descriptor_extension_unittest.cc",
      "new_id": "325135fd1b2348c9436ec546a6837752c8738fe7",
      "new_mode": 33188,
      "new_path": "modules/rtp_rtcp/source/rtp_generic_frame_descriptor_extension_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "2db50be8864081c4c490e7f131bb3dfe82a91391",
      "old_mode": 33188,
      "old_path": "modules/rtp_rtcp/source/rtp_sender_video.cc",
      "new_id": "42ef5eba044f2e9ef0df8112a9ff78eb3f0577dc",
      "new_mode": 33188,
      "new_path": "modules/rtp_rtcp/source/rtp_sender_video.cc"
    },
    {
      "type": "modify",
      "old_id": "ed2aafc2ec52f260b6e62a018ef0864aedba7da4",
      "old_mode": 33188,
      "old_path": "modules/rtp_rtcp/source/rtp_sender_video_unittest.cc",
      "new_id": "e5794b9aefa02f0d146aeaa7d3138da4170b3f0e",
      "new_mode": 33188,
      "new_path": "modules/rtp_rtcp/source/rtp_sender_video_unittest.cc"
    }
  ]
}
