)]}'
{
  "commit": "e40a408898b7ea16e59ebc8ea96c6d42c8f8753d",
  "tree": "ff8eb710fdd54219d3b5f2bd224a9de8c36c1a65",
  "parents": [
    "5a076f110ee1c60a62567175b8f231a4489efc23"
  ],
  "author": {
    "name": "Tommi",
    "email": "tommi@webrtc.org",
    "time": "Wed Oct 07 15:29:02 2026"
  },
  "committer": {
    "name": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Oct 08 13:18:59 2026"
  },
  "message": "Provide RtpState at construction when restoring an RTP module\n\nWhen a suspended stream was recreated, its previous state was applied\nwith SetRtpState() and SetRtxState() right after construction. This\nrequired state to be mutable that otherwise could be const, which in\nturn required a lock for every read on the encoder queue.\n\n* Add rtp_state and rtx_rtp_state to RtpRtcpInterface::Configuration.\n* Apply it when constructing RTPSender and ModuleRtpRtcpImpl2.\n* RtpVideoSender and AudioSendStream, via ChannelSend, now pass the\n  suspended states at creation.\n* Remove SetStartTimestamp(), SetRtpState() and SetRtxState() from\n  RtpRtcpInterface, ModuleRtpRtcpImpl2, as well as\n  RTPSender::SetRtxRtpState().\n* Deprecate RTPSender::SetTimestampOffset() and SetRtpState(). Once\n  direct users of RTPSender have migrated, they can be removed and the\n  timestamp offset made const.\n\nBug: webrtc:42223727\nChange-Id: Idad26fe1205c1288a3455865dfb79027ed7f83da\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/507320\nReviewed-by: Danil Chapovalov \u003cdanilchap@webrtc.org\u003e\nCommit-Queue: Tomas Gunnarsson \u003ctommi@webrtc.org\u003e\nCr-Commit-Position: refs/heads/main@{#48831}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4bc85b27181f41fd0c7ef6d75d94561f076b654e",
      "old_mode": 33188,
      "old_path": "audio/audio_send_stream.cc",
      "new_id": "15ca876b88342fb48b04067bdbf10fd9d1e54ebb",
      "new_mode": 33188,
      "new_path": "audio/audio_send_stream.cc"
    },
    {
      "type": "modify",
      "old_id": "b7eca5153248e8fe78b4a0abe805843bf113c401",
      "old_mode": 33188,
      "old_path": "audio/audio_send_stream.h",
      "new_id": "635d0ded03de4b5be95ae2121ce296a5ad750704",
      "new_mode": 33188,
      "new_path": "audio/audio_send_stream.h"
    },
    {
      "type": "modify",
      "old_id": "26559a0161847fa4ec7648487dd726d7fc517a40",
      "old_mode": 33188,
      "old_path": "audio/audio_send_stream_unittest.cc",
      "new_id": "dc103ec71b7b495e1d530251d75855b19edcde04",
      "new_mode": 33188,
      "new_path": "audio/audio_send_stream_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "0539bdcd8c3a5d47eacc299a9d4326c3ea1fbdc6",
      "old_mode": 33188,
      "old_path": "audio/channel_send.cc",
      "new_id": "10dccdde12108a4ce1b1372bc9dcbfb645297a18",
      "new_mode": 33188,
      "new_path": "audio/channel_send.cc"
    },
    {
      "type": "modify",
      "old_id": "750d2a95b25fa6bae232d01fa4c3d0b75163fbfe",
      "old_mode": 33188,
      "old_path": "audio/channel_send.h",
      "new_id": "0b1e32831618efcf77a59b33b23f24c55b0a9089",
      "new_mode": 33188,
      "new_path": "audio/channel_send.h"
    },
    {
      "type": "modify",
      "old_id": "df987e1ffb4de910810f870ccddd086c5ab6ecf8",
      "old_mode": 33188,
      "old_path": "audio/channel_send_unittest.cc",
      "new_id": "8f2282f18102d22817621fa5b19779a584de488a",
      "new_mode": 33188,
      "new_path": "audio/channel_send_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "eaf4d88a4828beffb64682ed0f1514078bcda154",
      "old_mode": 33188,
      "old_path": "call/rtp_video_sender.cc",
      "new_id": "06d59d93101798f2a2042dd2fc01696558aba7f7",
      "new_mode": 33188,
      "new_path": "call/rtp_video_sender.cc"
    },
    {
      "type": "modify",
      "old_id": "1dfea77485ff6306fe79c7648bfda09aa6cf931a",
      "old_mode": 33188,
      "old_path": "modules/rtp_rtcp/mocks/mock_rtp_rtcp.h",
      "new_id": "7e21ac48032ad781311b31a2ebbef6f161b53edd",
      "new_mode": 33188,
      "new_path": "modules/rtp_rtcp/mocks/mock_rtp_rtcp.h"
    },
    {
      "type": "modify",
      "old_id": "8000e8b5266ec50eecc41ad08c64fce14e3d492e",
      "old_mode": 33188,
      "old_path": "modules/rtp_rtcp/source/nack_rtx_unittest.cc",
      "new_id": "1a71d862b58afe9e328dc2c8c03e0a538a8ac0c8",
      "new_mode": 33188,
      "new_path": "modules/rtp_rtcp/source/nack_rtx_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "d28e8552dc7af54bc9b74f525777aed4e3fdbfa9",
      "old_mode": 33188,
      "old_path": "modules/rtp_rtcp/source/rtp_rtcp_impl2.cc",
      "new_id": "ea2361344a3c3b3fd25a9b6be3280b4c8d8882f8",
      "new_mode": 33188,
      "new_path": "modules/rtp_rtcp/source/rtp_rtcp_impl2.cc"
    },
    {
      "type": "modify",
      "old_id": "f962f0dc4a00c638a76fa62d4b65cff92f8441d8",
      "old_mode": 33188,
      "old_path": "modules/rtp_rtcp/source/rtp_rtcp_impl2.h",
      "new_id": "e55f35ca365130221c1b95fc3fd0d57f493d6f6a",
      "new_mode": 33188,
      "new_path": "modules/rtp_rtcp/source/rtp_rtcp_impl2.h"
    },
    {
      "type": "modify",
      "old_id": "77d0ece9a3a5df4087d8b85fdf67a62ffb4c9521",
      "old_mode": 33188,
      "old_path": "modules/rtp_rtcp/source/rtp_rtcp_impl2_unittest.cc",
      "new_id": "3474312e4587fad5f894fe17b5ff7e0a11a7ad6a",
      "new_mode": 33188,
      "new_path": "modules/rtp_rtcp/source/rtp_rtcp_impl2_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "1d7f923038f5ba6799832ea9b0f39fb2dcf22e00",
      "old_mode": 33188,
      "old_path": "modules/rtp_rtcp/source/rtp_rtcp_interface.h",
      "new_id": "70be76086a8c81271694d46e16bc108ad2cf2823",
      "new_mode": 33188,
      "new_path": "modules/rtp_rtcp/source/rtp_rtcp_interface.h"
    },
    {
      "type": "modify",
      "old_id": "d6bb3b59e1b349691da1c875721d5c420bb7ce4d",
      "old_mode": 33188,
      "old_path": "modules/rtp_rtcp/source/rtp_sender.cc",
      "new_id": "d5d94fe9718b1c2b1b2bcf5b1e28aad6def84f9f",
      "new_mode": 33188,
      "new_path": "modules/rtp_rtcp/source/rtp_sender.cc"
    },
    {
      "type": "modify",
      "old_id": "166b2662f8051b8ca2508daa702a81dcf3e2e79c",
      "old_mode": 33188,
      "old_path": "modules/rtp_rtcp/source/rtp_sender.h",
      "new_id": "82409fee5d4cc022af93b1e6f28b1ea179b366e6",
      "new_mode": 33188,
      "new_path": "modules/rtp_rtcp/source/rtp_sender.h"
    },
    {
      "type": "modify",
      "old_id": "ab678609db6af117768eb32563439b5a8f91e4fd",
      "old_mode": 33188,
      "old_path": "modules/rtp_rtcp/source/rtp_sender_unittest.cc",
      "new_id": "6618144ca40b8ebbd377a400058df916221bf96b",
      "new_mode": 33188,
      "new_path": "modules/rtp_rtcp/source/rtp_sender_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "0e4612c38d4af9df5a916b05dbb33e75c56da918",
      "old_mode": 33188,
      "old_path": "modules/rtp_rtcp/source/rtp_sender_video_unittest.cc",
      "new_id": "2ad27705f8c6e838138a97fa9844200d65178258",
      "new_mode": 33188,
      "new_path": "modules/rtp_rtcp/source/rtp_sender_video_unittest.cc"
    }
  ]
}
