)]}'
{
  "commit": "f18608fb694e40881c36cf8236141d423cb0607a",
  "tree": "4d0e15d4f6b8f23c3a2df6bed991524f51a33def",
  "parents": [
    "d1cdf84758aeefc2854968f4c299eaecd593cb6f"
  ],
  "author": {
    "name": "kwasniow",
    "email": "kwasniow@cisco.com",
    "time": "Wed Oct 07 06:10:01 2026"
  },
  "committer": {
    "name": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Oct 07 11:35:58 2026"
  },
  "message": "Move Sframe mode from encryptor to SframeEncryptionConfig\n\nSframe mode determines how the send pipeline applies encryption, not how\nthe encryptor performs cryptographic operations. Introduce\nSframeEncryptionConfig to carry the mode and encryptor together through\nthe send pipeline.\n\nKeep mode in SframeEncryptorInit as the application-facing input, but\nconstruct SframeEncryptor using only the cipher suite. Remove its stored\nmode and the mode() accessor from the media encryptor interface.\n\nStore an optional SframeEncryptionConfig in RtpSenderBase and\nSframeSendOptions. Rename the media-channel setter to\nSetSframeEncryptionConfig and propagate the configuration during\ninstallation, SSRC binding, and video send-stream creation or\nrecreation. RtpVideoSender forwards it to each RTPSenderVideo, including\nsimulcast streams.\n\nKeep the requirement for Sframe protection independent of the encryption\nconfiguration. Rename the RTP-level flag to\nsframe_required_by_negotiation to clarify that it reflects applied SDP.\nPreserve the existing frame-dropping behavior while Sframe encryption is\nnot yet wired into the RTP sender; audio propagation remains a TODO.\n\nBug: webrtc:479862368\nChange-Id: I7e0ffbf1843dd0231354460a25ee052f26552ae1\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/507741\nCommit-Queue: Kacper Wasniowski \u003ckwasniow@cisco.com\u003e\nReviewed-by: Danil Chapovalov \u003cdanilchap@webrtc.org\u003e\nReviewed-by: Tomas Gunnarsson \u003ctommi@webrtc.org\u003e\nCr-Commit-Position: refs/heads/main@{#48819}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "41ddd5aed2e56f393b49ee0f0f6bf982454c6686",
      "old_mode": 33188,
      "old_path": "call/BUILD.gn",
      "new_id": "9147ea7d6d00eae3d8e1cc626f7077955e2841b3",
      "new_mode": 33188,
      "new_path": "call/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "64bce8ce8264a878b6974ee250e30bf7c938a42b",
      "old_mode": 33188,
      "old_path": "call/rtp_video_sender.cc",
      "new_id": "eaf4d88a4828beffb64682ed0f1514078bcda154",
      "new_mode": 33188,
      "new_path": "call/rtp_video_sender.cc"
    },
    {
      "type": "modify",
      "old_id": "2ab2308fdc01ed59b6db93a89f22a787d108f213",
      "old_mode": 33188,
      "old_path": "call/sframe_options.h",
      "new_id": "a9fc1a354199b87ce24024cdaf99b3e6baa769e4",
      "new_mode": 33188,
      "new_path": "call/sframe_options.h"
    },
    {
      "type": "modify",
      "old_id": "2e50236dd39430f5892590416502f95a72847b1e",
      "old_mode": 33188,
      "old_path": "media/BUILD.gn",
      "new_id": "d3968fb229344f0de55ee8a72d0287f754219448",
      "new_mode": 33188,
      "new_path": "media/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "dea61c2180bdce2d38299d00c0973c810d411679",
      "old_mode": 33188,
      "old_path": "media/base/fake_media_engine.h",
      "new_id": "25051238d38e5e93798f596155ce79479324879e",
      "new_mode": 33188,
      "new_path": "media/base/fake_media_engine.h"
    },
    {
      "type": "modify",
      "old_id": "8277010e1b8550333a6c5b2c9940e5b60c8f2bea",
      "old_mode": 33188,
      "old_path": "media/base/media_channel.h",
      "new_id": "748e64b03a0893f0fe762e7416f28b36bda540bc",
      "new_mode": 33188,
      "new_path": "media/base/media_channel.h"
    },
    {
      "type": "modify",
      "old_id": "ae120147055ff2b0fcf60c1d2d48a2c0adabb9a5",
      "old_mode": 33188,
      "old_path": "media/engine/webrtc_video_engine.cc",
      "new_id": "a2a234d408f14a8d56c649c772622d71b525ddd1",
      "new_mode": 33188,
      "new_path": "media/engine/webrtc_video_engine.cc"
    },
    {
      "type": "modify",
      "old_id": "27333a6e0e7a48c453af7c796750023f10f3e29c",
      "old_mode": 33188,
      "old_path": "media/engine/webrtc_video_engine.h",
      "new_id": "d4d77bc35d21acbf316fd61488fe51e58e2f7480",
      "new_mode": 33188,
      "new_path": "media/engine/webrtc_video_engine.h"
    },
    {
      "type": "modify",
      "old_id": "4a7828444a6a68cb05773fa74b900a4b2cac8f05",
      "old_mode": 33188,
      "old_path": "media/engine/webrtc_video_engine_unittest.cc",
      "new_id": "b4459b28ea7f58793b8d4593a19a7bf29fec9c2a",
      "new_mode": 33188,
      "new_path": "media/engine/webrtc_video_engine_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "3ca2facafec7f33bc508520a3dc902c9bf19f9b7",
      "old_mode": 33188,
      "old_path": "media/engine/webrtc_voice_engine.cc",
      "new_id": "57656f617bb0f6db9afeb7f0c1409da5935aa1fa",
      "new_mode": 33188,
      "new_path": "media/engine/webrtc_voice_engine.cc"
    },
    {
      "type": "modify",
      "old_id": "0de63bb89e70ccfd19e06e7c45bd6cb2ea0a749e",
      "old_mode": 33188,
      "old_path": "media/engine/webrtc_voice_engine.h",
      "new_id": "4aace4663b483cf5e49bc1676b142fe5710da8b2",
      "new_mode": 33188,
      "new_path": "media/engine/webrtc_voice_engine.h"
    },
    {
      "type": "modify",
      "old_id": "d386adc61d4ae11bbcae1de62a7d39bb719687bc",
      "old_mode": 33188,
      "old_path": "modules/rtp_rtcp/BUILD.gn",
      "new_id": "c3593666ade3809ce0ca8326260c30a82fc56079",
      "new_mode": 33188,
      "new_path": "modules/rtp_rtcp/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "12614d09403f5b60cf7e1a77e6b67490176f803e",
      "old_mode": 33188,
      "old_path": "modules/rtp_rtcp/source/rtp_sender_video.cc",
      "new_id": "18dae0418c4a0a1a93fe4c84666ed029b8e6a878",
      "new_mode": 33188,
      "new_path": "modules/rtp_rtcp/source/rtp_sender_video.cc"
    },
    {
      "type": "modify",
      "old_id": "c0bcd93e03fe963d448cb6b519f8801fc0cb8d4a",
      "old_mode": 33188,
      "old_path": "modules/rtp_rtcp/source/rtp_sender_video.h",
      "new_id": "a12d6da69e55b9b369bd9f0d53d18ac9a9cfacb8",
      "new_mode": 33188,
      "new_path": "modules/rtp_rtcp/source/rtp_sender_video.h"
    },
    {
      "type": "modify",
      "old_id": "8dfd120ce56b17640057672924c1ba1c8f96d481",
      "old_mode": 33188,
      "old_path": "modules/rtp_rtcp/source/rtp_sender_video_unittest.cc",
      "new_id": "0e4612c38d4af9df5a916b05dbb33e75c56da918",
      "new_mode": 33188,
      "new_path": "modules/rtp_rtcp/source/rtp_sender_video_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "70577d1e5f667a0cc95320ae3a56ae71cb75e9c5",
      "old_mode": 33188,
      "old_path": "modules/sframe/BUILD.gn",
      "new_id": "3c5ce2661bc4858bb9a485b0a2dc76627742de55",
      "new_mode": 33188,
      "new_path": "modules/sframe/BUILD.gn"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b2420fbd43b5b10d167be4f58a98bbcf76c23d1e",
      "new_mode": 33188,
      "new_path": "modules/sframe/sframe_encryption_config.h"
    },
    {
      "type": "modify",
      "old_id": "846ac9bcf0fefe55e2973241b3ffc842cce7f7c1",
      "old_mode": 33188,
      "old_path": "modules/sframe/sframe_encryptor.cc",
      "new_id": "636a1ccede71cf66ae7b0e789f326203e6092c50",
      "new_mode": 33188,
      "new_path": "modules/sframe/sframe_encryptor.cc"
    },
    {
      "type": "modify",
      "old_id": "ffc9f8d6326b811d195ee763cb448cfd9f4e5bcb",
      "old_mode": 33188,
      "old_path": "modules/sframe/sframe_encryptor.h",
      "new_id": "05c9e40d63d9ac7bc82458d32ce4d5211b02cae7",
      "new_mode": 33188,
      "new_path": "modules/sframe/sframe_encryptor.h"
    },
    {
      "type": "modify",
      "old_id": "c510ebc1484083288b18090f047f0e557fb8ba8e",
      "old_mode": 33188,
      "old_path": "modules/sframe/sframe_encryptor_decryptor_unittest.cc",
      "new_id": "28b8048e87207aab6605a9e1450ca0e727e62231",
      "new_mode": 33188,
      "new_path": "modules/sframe/sframe_encryptor_decryptor_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "ce0f9d61b62fa94eb758c1f9690c9d62cb8ab040",
      "old_mode": 33188,
      "old_path": "modules/sframe/sframe_media_encryptor_interface.h",
      "new_id": "a810e34c7d1e4bbd30211894b23d12e264a0f59c",
      "new_mode": 33188,
      "new_path": "modules/sframe/sframe_media_encryptor_interface.h"
    },
    {
      "type": "modify",
      "old_id": "a9ae071515935d97781209508ab4d0dc969ed444",
      "old_mode": 33188,
      "old_path": "pc/BUILD.gn",
      "new_id": "9366f0eaa63ccdbc3f8fc22219d5efc0b0b05c6b",
      "new_mode": 33188,
      "new_path": "pc/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "aa124e9a84c8960bdd12c3e8b81a17431c6ca982",
      "old_mode": 33188,
      "old_path": "pc/rtp_sender.cc",
      "new_id": "093e2b248c907809e0f584f81543c5e053ec0b15",
      "new_mode": 33188,
      "new_path": "pc/rtp_sender.cc"
    },
    {
      "type": "modify",
      "old_id": "6fda9bbcfc4072c6cc89b2878223c97dc6d83163",
      "old_mode": 33188,
      "old_path": "pc/rtp_sender.h",
      "new_id": "423b22d089f9a3b5e289940f8b0e14e7a8a72e73",
      "new_mode": 33188,
      "new_path": "pc/rtp_sender.h"
    },
    {
      "type": "modify",
      "old_id": "742778b622bbcfdea52bd9ee24cfd3242c7ffc63",
      "old_mode": 33188,
      "old_path": "pc/rtp_sender_receiver_unittest.cc",
      "new_id": "96e98a16f5049f45239c67b6633ce4372a8b96fb",
      "new_mode": 33188,
      "new_path": "pc/rtp_sender_receiver_unittest.cc"
    }
  ]
}
