)]}'
{
  "commit": "3640a4f95bebd68003e5aea27c711ffe4cd39423",
  "tree": "2644b75e153db2619f70a4b704f8a8012596619c",
  "parents": [
    "5a38ae4509f4bf43f84b56702be8c070dd606aa2"
  ],
  "author": {
    "name": "[Samsung] Raveendra Karu",
    "email": "r.karu@samsung.com",
    "time": "Sat Sep 13 06:52:29 2025 +0530"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sat Sep 13 01:22:29 2025 +0000"
  },
  "message": "TLS client management and other changes for clip upload in Push AV (#40840)\n\n* Initial changes for getting TLS client management delegate to PAVST delegate\n\nAuthor: Tushant Yadav \u003ct.yadav@samsung.com\u003e\nSigned-off-by: Raveendra Karu \u003cr.karu@samsung.com\u003e\n\n* - Added TLS certificates to Push AV transport manager.\n- Updated zone management and triggers for PushAV.\n- Updated zone ID validation logic.\n- Implemented bandwidth limit API.\n- Updated Push AV Stream Transport end event generation logic.\n\nCo-author: Sambhavi \u003csambhavi.1@samsung.com\u003e\nCo-author: Tushant Yadav \u003ct.yadav@samsung.com\u003e\nSigned-off-by: Raveendra Karu \u003cr.karu@samsung.com\u003e\n\n* - Replace file-based TLS certificates with in-memory buffer management\n- Add SetOnRecorderStartedCallback functionality across transport classes\n- Generate PushTransportBeginEvent when recorder starts streaming\n- Update PushAVUploader to support both path and buffer-based certificates\n- Refactor certificate structures for better type safety\n- Add certificate table accessor methods for improved encapsulation\n\nCo-author: Tushant Yadav \u003ct.yadav@samsung.com\u003e\nCo-author: Sambhavi \u003csambhavi.1@samsung.com\u003e\n\nSigned-off-by: Raveendra Karu \u003cr.karu@samsung.com\u003e\n\n* Updated url handling and clip segment duration\n\nAuthor: Tushant Yadav \u003ct.yadav@samsung.com\u003e\nSigned-off-by: Raveendra Karu \u003cr.karu@samsung.com\u003e\n\n* Updated certificate handling in push AV stream transport with improved credential and crypto support.\n\nAuthor: Tushant Yadav \u003ct.yadav@samsung.com\u003e\nSigned-off-by: Raveendra Karu \u003cr.karu@samsung.com\u003e\n\n* Restyled by clang-format\n\n* Add recorder callbacks and refactor TLS cert handling\n\nAuthor: Tushant Yadav \u003ct.yadav@samsung.com\u003e\nSigned-off-by: Raveendra Karu \u003cr.karu@samsung.com\u003e\n\n* Improved Null Checks and Certificate Buffer Allocation\n1. Add null check for  in  to prevent null pointer dereference.\n2. Replace stack-allocated certificate buffers with heap-allocated ones to reduce stack usage and handle large certificate buffers efficiently.\n\nAuthor: Tushant Yadav \u003ct.yadav@samsung.com\u003e\nSigned-off-by: Raveendra Karu \u003cr.karu@samsung.com\u003e\n\n* Add override keywords to SetOnRecorderStoppedCallback and SetOnRecorderStartedCallback functions in push-av-stream-manager.h to properly implement interface methods.\n\n* Fix TLS Key handling in push AV stream transport\n\nAuthor: Tushant Yadav \u003ct.yadav@samsung.com\u003e\nSigned-off-by: Raveendra Karu \u003cr.karu@samsung.com\u003e\n\n* resolved lint error\n\n* Add intermediate certificates support to TLS handling in PushAV\n\nAuthor: Tushant Yadav \u003ct.yadav@samsung.com\u003e\nSigned-off-by: Raveendra Karu \u003cr.karu@samsung.com\u003e\n\n* Updated log\n\n* Update PushAV event generation logic to avoid dependency inversion violation + other minor fixes\n\nAuthor: Tushant Yadav \u003ct.yadav@samsung.com\u003e\nSigned-off-by: Raveendra Karu \u003cr.karu@samsung.com\u003e\n\n* Build fail fix\n\nSigned-off-by: Raveendra Karu \u003cr.karu@samsung.com\u003e\n\n* Add GetAllocatedVideoStreams and GetAllocatedAudioStreams methods to CameraAVStreamManager class to provide direct access to allocated streams. Update PushAvStreamTransportManager to use the new delegate interface instead of accessing streams through HAL interface.\n\nAuthor: Tushant Yadav \u003ct.yadav@samsung.com\u003e\nSigned-off-by: Raveendra Karu \u003cr.karu@samsung.com\u003e\n\n* Add getters for allocated AV streams in CameraAVStreamManager\n\nSigned-off-by: Raveendra Karu \u003cr.karu@samsung.com\u003e\n\n---------\n\nSigned-off-by: Raveendra Karu \u003cr.karu@samsung.com\u003e\nCo-authored-by: Restyled.io \u003ccommits@restyled.io\u003e\nCo-authored-by: Robert Szewczyk \u003cszewczyk@google.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "509e8ed0ecf3b435fb998ae68fac96014d8d0c21",
      "old_mode": 33188,
      "old_path": "examples/all-clusters-app/all-clusters-common/include/camera-av-stream-delegate-impl.h",
      "new_id": "43f337b4bcf21eda68174b07550c223746d27d10",
      "new_mode": 33188,
      "new_path": "examples/all-clusters-app/all-clusters-common/include/camera-av-stream-delegate-impl.h"
    },
    {
      "type": "modify",
      "old_id": "563f39f22cc113e03e8e66234ddcd7e3e1ee99ab",
      "old_mode": 33188,
      "old_path": "examples/all-clusters-app/all-clusters-common/include/push-av-stream-transport-delegate-impl.h",
      "new_id": "05b16a0b94485f98d7bbd41c30d2483889f0f552",
      "new_mode": 33188,
      "new_path": "examples/all-clusters-app/all-clusters-common/include/push-av-stream-transport-delegate-impl.h"
    },
    {
      "type": "modify",
      "old_id": "e587eea0ea0d8b18d5b8c62282262cf047ab9ae4",
      "old_mode": 33188,
      "old_path": "examples/all-clusters-app/all-clusters-common/src/camera-av-stream-delegate-impl.cpp",
      "new_id": "00c4513db357924806b358501b32940376a6ee0b",
      "new_mode": 33188,
      "new_path": "examples/all-clusters-app/all-clusters-common/src/camera-av-stream-delegate-impl.cpp"
    },
    {
      "type": "modify",
      "old_id": "0b2fcaeeb8a1631602c3e0dd12e49c54ecb48804",
      "old_mode": 33188,
      "old_path": "examples/camera-app/camera-common/src/camera-app.cpp",
      "new_id": "96d4e0a2750694ee3614cb227e284ec7f1e17254",
      "new_mode": 33188,
      "new_path": "examples/camera-app/camera-common/src/camera-app.cpp"
    },
    {
      "type": "modify",
      "old_id": "25d04b40809f8ac4f5edbae1cb0a70253f63c5fc",
      "old_mode": 33188,
      "old_path": "examples/camera-app/linux/include/clusters/camera-avstream-mgmt/camera-av-stream-manager.h",
      "new_id": "4d4cae2c58a590ffb2e4c412de2834c6aca8d27f",
      "new_mode": 33188,
      "new_path": "examples/camera-app/linux/include/clusters/camera-avstream-mgmt/camera-av-stream-manager.h"
    },
    {
      "type": "modify",
      "old_id": "b4f9e2aaa2ebe50f6bf5c43db2c37fd09fef5dd8",
      "old_mode": 33188,
      "old_path": "examples/camera-app/linux/include/clusters/push-av-stream-transport/push-av-stream-manager.h",
      "new_id": "a47adebfdb03e780492b53e55f765fa8131055bc",
      "new_mode": 33188,
      "new_path": "examples/camera-app/linux/include/clusters/push-av-stream-transport/push-av-stream-manager.h"
    },
    {
      "type": "modify",
      "old_id": "a1ab9b84c325730fc7d3ee57cb364ed6d1f92f53",
      "old_mode": 33188,
      "old_path": "examples/camera-app/linux/include/pushav-clip-recorder.h",
      "new_id": "d5221fc15f38837b2ab08db29021ba1f78a59c0c",
      "new_mode": 33188,
      "new_path": "examples/camera-app/linux/include/pushav-clip-recorder.h"
    },
    {
      "type": "modify",
      "old_id": "a685d9366d5e5cf3abeabcbf49a8ac1b00ab89e8",
      "old_mode": 33188,
      "old_path": "examples/camera-app/linux/include/pushav-transport/pushav-transport.h",
      "new_id": "68646feb3d9e53252945a02864b73fdf8b94c8b4",
      "new_mode": 33188,
      "new_path": "examples/camera-app/linux/include/pushav-transport/pushav-transport.h"
    },
    {
      "type": "modify",
      "old_id": "55ca37ff32a62bcfae890383825d5fbd08d887e1",
      "old_mode": 33188,
      "old_path": "examples/camera-app/linux/include/uploader/pushav-uploader.h",
      "new_id": "512e6ff6b71c345c60bd617dd53f0ffcac16194c",
      "new_mode": 33188,
      "new_path": "examples/camera-app/linux/include/uploader/pushav-uploader.h"
    },
    {
      "type": "modify",
      "old_id": "00f70cd05e1f59c81a0e4f06b8453fe761333529",
      "old_mode": 33188,
      "old_path": "examples/camera-app/linux/src/camera-device.cpp",
      "new_id": "94cb133f1342e3f1e57928d6d6aa7f023fd86574",
      "new_mode": 33188,
      "new_path": "examples/camera-app/linux/src/camera-device.cpp"
    },
    {
      "type": "modify",
      "old_id": "9372f6a17592c46aa5a38cd9d283b0c441d815f1",
      "old_mode": 33188,
      "old_path": "examples/camera-app/linux/src/clusters/camera-avstream-mgmt/camera-av-stream-manager.cpp",
      "new_id": "c576894f1717378c49115dad67678f34de9c1bf7",
      "new_mode": 33188,
      "new_path": "examples/camera-app/linux/src/clusters/camera-avstream-mgmt/camera-av-stream-manager.cpp"
    },
    {
      "type": "modify",
      "old_id": "1cc4228162d175a94f0dd402d8bc3597531a17a8",
      "old_mode": 33188,
      "old_path": "examples/camera-app/linux/src/clusters/push-av-stream-transport/push-av-stream-manager.cpp",
      "new_id": "ef2880beffc369843690942b7522f23a5e1cccb1",
      "new_mode": 33188,
      "new_path": "examples/camera-app/linux/src/clusters/push-av-stream-transport/push-av-stream-manager.cpp"
    },
    {
      "type": "modify",
      "old_id": "192b379f5828bd493f73dcb0c554ada9319483c1",
      "old_mode": 33188,
      "old_path": "examples/camera-app/linux/src/pushav-clip-recorder.cpp",
      "new_id": "616553d0e53e9c1bf2d5c61e519ca1d172f93e56",
      "new_mode": 33188,
      "new_path": "examples/camera-app/linux/src/pushav-clip-recorder.cpp"
    },
    {
      "type": "modify",
      "old_id": "dd4259cb1025d99e50e1d52c5164848376411f61",
      "old_mode": 33188,
      "old_path": "examples/camera-app/linux/src/pushav-transport/pushav-transport.cpp",
      "new_id": "74871ba36e7e54d5b12906c5eec9bcb9174b835a",
      "new_mode": 33188,
      "new_path": "examples/camera-app/linux/src/pushav-transport/pushav-transport.cpp"
    },
    {
      "type": "modify",
      "old_id": "26d9d90624b17c99096ba46bad21cc9c737774db",
      "old_mode": 33188,
      "old_path": "examples/camera-app/linux/src/uploader/pushav-uploader.cpp",
      "new_id": "4aba1ee47f67f034ceabf35d544422c070d0eeba",
      "new_mode": 33188,
      "new_path": "examples/camera-app/linux/src/uploader/pushav-uploader.cpp"
    },
    {
      "type": "modify",
      "old_id": "5b8f38cef6b3cba6690249fc881766aa858f026b",
      "old_mode": 33188,
      "old_path": "src/app/clusters/camera-av-stream-management-server/camera-av-stream-management-server.h",
      "new_id": "e3b42c6fdec4cf60a897d2fbb92f582d3927a278",
      "new_mode": 33188,
      "new_path": "src/app/clusters/camera-av-stream-management-server/camera-av-stream-management-server.h"
    },
    {
      "type": "modify",
      "old_id": "69f15cb029c2a40a56afbaf2868b0ba11c96044a",
      "old_mode": 33188,
      "old_path": "src/app/clusters/push-av-stream-transport-server/BUILD.gn",
      "new_id": "b7322b244432e4af443d18a65cc5b0a8855499ba",
      "new_mode": 33188,
      "new_path": "src/app/clusters/push-av-stream-transport-server/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "d2cd0aa5d9864db35bb3fb255210e9e1dae6e7fa",
      "old_mode": 33188,
      "old_path": "src/app/clusters/push-av-stream-transport-server/CodegenIntegration.cpp",
      "new_id": "1b34315b4507a44219cb0943ad6b79f8efa32a9a",
      "new_mode": 33188,
      "new_path": "src/app/clusters/push-av-stream-transport-server/CodegenIntegration.cpp"
    },
    {
      "type": "modify",
      "old_id": "99278e2cb8d5d8a6d147e4c19fa54582b9bc2ff5",
      "old_mode": 33188,
      "old_path": "src/app/clusters/push-av-stream-transport-server/CodegenIntegration.h",
      "new_id": "fd8d9188d3d79dc412756d3afedd8a273d1f3221",
      "new_mode": 33188,
      "new_path": "src/app/clusters/push-av-stream-transport-server/CodegenIntegration.h"
    },
    {
      "type": "modify",
      "old_id": "f2d00ae22aae976fabd88d4ebae5040d343641ac",
      "old_mode": 33188,
      "old_path": "src/app/clusters/push-av-stream-transport-server/push-av-stream-transport-cluster.h",
      "new_id": "05c45929f0f2bb90d6546414139337a5c0937cee",
      "new_mode": 33188,
      "new_path": "src/app/clusters/push-av-stream-transport-server/push-av-stream-transport-cluster.h"
    },
    {
      "type": "modify",
      "old_id": "62cfeb41b648c10ee59a1eb55b664a840f47c618",
      "old_mode": 33188,
      "old_path": "src/app/clusters/push-av-stream-transport-server/push-av-stream-transport-delegate.h",
      "new_id": "9835649f5a8fb707766e476248f62d13983c872d",
      "new_mode": 33188,
      "new_path": "src/app/clusters/push-av-stream-transport-server/push-av-stream-transport-delegate.h"
    },
    {
      "type": "modify",
      "old_id": "1d8e6cfe1b3eeacdc67c45e0c42c82e375d9043a",
      "old_mode": 33188,
      "old_path": "src/app/clusters/push-av-stream-transport-server/push-av-stream-transport-logic.cpp",
      "new_id": "5f0fe7fa0fd2a92a25c19ad62bf35c4f629e2a6a",
      "new_mode": 33188,
      "new_path": "src/app/clusters/push-av-stream-transport-server/push-av-stream-transport-logic.cpp"
    },
    {
      "type": "modify",
      "old_id": "7d51b0da69186a23fe9c2f16aad72893612745b1",
      "old_mode": 33188,
      "old_path": "src/app/clusters/push-av-stream-transport-server/push-av-stream-transport-logic.h",
      "new_id": "7e23fd60690b41ae7971ff71f5f1f9bf49d8bd82",
      "new_mode": 33188,
      "new_path": "src/app/clusters/push-av-stream-transport-server/push-av-stream-transport-logic.h"
    },
    {
      "type": "modify",
      "old_id": "9efdd450274f7b99b07a408af7d3f2b3b9448551",
      "old_mode": 33188,
      "old_path": "src/app/clusters/push-av-stream-transport-server/tests/TestPushAVStreamTransportCluster.cpp",
      "new_id": "99560cf5daf49e4bd2ec85762f0dbd863c450588",
      "new_mode": 33188,
      "new_path": "src/app/clusters/push-av-stream-transport-server/tests/TestPushAVStreamTransportCluster.cpp"
    },
    {
      "type": "modify",
      "old_id": "d3366dbee67b20b26da777e171e7e6b2537e5b54",
      "old_mode": 33188,
      "old_path": "src/app/clusters/tls-certificate-management-server/tls-certificate-management-server.h",
      "new_id": "8d7a51ef6897aab14b5e5cb2ab8251a46dec7a69",
      "new_mode": 33188,
      "new_path": "src/app/clusters/tls-certificate-management-server/tls-certificate-management-server.h"
    }
  ]
}
