)]}'
{
  "commit": "718bdec88e88048e8c5599352024d74b53b15112",
  "tree": "43fb73d242268d88cb7a20975e7bed7d5e817b12",
  "parents": [
    "3632fb77849148c06d518e0a25f36d1e6de82b14"
  ],
  "author": {
    "name": "Tommi",
    "email": "tommi@webrtc.org",
    "time": "Thu Apr 23 07:56:20 2026"
  },
  "committer": {
    "name": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Apr 23 10:33:50 2026"
  },
  "message": "Consolidate media content setting in BaseChannel\n\nMove the implementations of SetLocalContent_w and SetRemoteContent_w\nfrom the VoiceChannel and VideoChannel subclasses into the BaseChannel\nclass. This consolidation reduces code duplication and simplifies the\nmaintenance of SDP push-down logic across different media types.\n\nTo facilitate this change, the following modifications were made:\n- Introduced std::variant to store media-specific sender and receiver\n  parameters within BaseChannel.\n- Updated the BaseChannel constructor to require a MediaType, allowing\n  the unified methods to branch logic for audio or video as needed.\n- Enhanced RTCError::InvalidParameter to support optional descriptive\n  messages, providing clearer feedback when parameter settings fail.\n- Cleaned up the ChannelInterface by removing AsVideoChannel and\n  AsVoiceChannel helper methods, favoring the use of specialized media\n  channel accessors.\n\nBug: webrtc:42224170\nChange-Id: Ida66f61c12e992fed872a744bd412a3dc0c24f45\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/466020\nReviewed-by: Harald Alvestrand \u003chta@webrtc.org\u003e\nCommit-Queue: Tomas Gunnarsson \u003ctommi@webrtc.org\u003e\nCr-Commit-Position: refs/heads/main@{#47539}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e998e372058fe19985020ca5ea5079ad4a743790",
      "old_mode": 33188,
      "old_path": "pc/channel.cc",
      "new_id": "6edacf46922d1f8eb237dfd5c6e48c3cd7f19f7f",
      "new_mode": 33188,
      "new_path": "pc/channel.cc"
    },
    {
      "type": "modify",
      "old_id": "00cd943ece55f22c15299659bb32c336704b5b80",
      "old_mode": 33188,
      "old_path": "pc/channel.h",
      "new_id": "27d34d0ab729f25811f95a4884ee449f877126cb",
      "new_mode": 33188,
      "new_path": "pc/channel.h"
    },
    {
      "type": "modify",
      "old_id": "30c08c77f344de268a3400ef77ed76f6d924d1a3",
      "old_mode": 33188,
      "old_path": "pc/channel_interface.h",
      "new_id": "93114ddc6a4c6f890da08273842e757f294e5a07",
      "new_mode": 33188,
      "new_path": "pc/channel_interface.h"
    },
    {
      "type": "modify",
      "old_id": "62ea4d8f729a7ad3bead4cdd19ec74320991f4e6",
      "old_mode": 33188,
      "old_path": "pc/channel_unittest.cc",
      "new_id": "ceb916edef6add902c16dd5f0a75aff25bf2d227",
      "new_mode": 33188,
      "new_path": "pc/channel_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "ca569c8af188ed382a6dc7b32b3549637d86e505",
      "old_mode": 33188,
      "old_path": "pc/test/mock_channel_interface.h",
      "new_id": "bdcf548d5f8299b04bddba3c72865f1bbd4315a0",
      "new_mode": 33188,
      "new_path": "pc/test/mock_channel_interface.h"
    }
  ]
}
