)]}'
{
  "commit": "e1e05afec7d7d10bb77fd00c5bd72cf17d77120d",
  "tree": "08bbc7c34c44020fad2db564dccb14170fdcd37a",
  "parents": [
    "404cd60ecce1879ce1c9c593ca0d0cb9784e0589"
  ],
  "author": {
    "name": "Jan Grulich",
    "email": "grulja@gmail.com",
    "time": "Tue Sep 21 18:36:16 2021"
  },
  "committer": {
    "name": "WebRTC LUCI CQ",
    "email": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Oct 06 10:31:51 2021"
  },
  "message": "Reland \"PipeWire capturer: implement proper DMA-BUFs support\"\"\n\nThis is a reland of f2177f6612079ccce9c320ea7e77bc934c684f5c\n\nOriginal change\u0027s description:\n\u003e PipeWire capturer: implement proper DMA-BUFs support\n\u003e\n\u003e Currently both KWin (KDE) and Mutter (GNOME) window managers don\u0027t\n\u003e use DMA-BUFs by default, but only when client asks specifically for\n\u003e them (KWin) or when experimental DMA-BUF support is enabled (Mutter).\n\u003e While current implementation works just fine on integrated graphics\n\u003e cards, it causes issues on dedicated GPUs (AMD and NVidia) where the\n\u003e code either crashes or screensharing is slow and unusable.\n\u003e\n\u003e To fix this, DMA-BUFs has to be opened using OpenGL context and not\n\u003e being directly mmaped(). This implementation requires to use DMA-BUF\n\u003e modifiers, as they are now mandatory for DMA-BUFs usage.\n\u003e\n\u003e Documentation for this behavior can be found here:\n\u003e https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/doc/dma-buf.dox\n\u003e\n\u003e Bug: chromium:1233417\n\u003e Change-Id: I0cecf16d6bb0f576954b9e8f071cab526f7baf2c\n\u003e Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227022\n\u003e Commit-Queue: Tommi \u003ctommi@webrtc.org\u003e\n\u003e Reviewed-by: Tommi \u003ctommi@webrtc.org\u003e\n\u003e Reviewed-by: Erik Språng \u003csprang@webrtc.org\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#34889}\n\nBug: chromium:1233417\nChange-Id: I308501d86ec18ab6df9bcee569c4b72df7926549\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/231180\nReviewed-by: Erik Språng \u003csprang@webrtc.org\u003e\nReviewed-by: Tommi \u003ctommi@webrtc.org\u003e\nCommit-Queue: Tommi \u003ctommi@webrtc.org\u003e\nCr-Commit-Position: refs/heads/main@{#35152}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "91c8d0f456a1eedc87079d7dc607533f85c9c2de",
      "old_mode": 33188,
      "old_path": "modules/desktop_capture/BUILD.gn",
      "new_id": "787a5c83b05c47b22e0f76652f0e82270a76e724",
      "new_mode": 33188,
      "new_path": "modules/desktop_capture/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "8c3977278d47dfdb6503d36143343ba6d117c6eb",
      "old_mode": 33188,
      "old_path": "modules/desktop_capture/linux/base_capturer_pipewire.cc",
      "new_id": "2d5e973387096a9750875ec71332304d558e0c8e",
      "new_mode": 33188,
      "new_path": "modules/desktop_capture/linux/base_capturer_pipewire.cc"
    },
    {
      "type": "modify",
      "old_id": "7ec5ea6950f3acff1ef2825692075352ece32d8c",
      "old_mode": 33188,
      "old_path": "modules/desktop_capture/linux/base_capturer_pipewire.h",
      "new_id": "787ee5ec2c71ed43144965eb8e576c24fe877d26",
      "new_mode": 33188,
      "new_path": "modules/desktop_capture/linux/base_capturer_pipewire.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "226979fe16c9bbb3b6fb6d2588029e76c8f233c8",
      "new_mode": 33188,
      "new_path": "modules/desktop_capture/linux/drm.sigs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ae34b69ed81c0a3dedf96ca792f91e3a14518475",
      "new_mode": 33188,
      "new_path": "modules/desktop_capture/linux/egl_dmabuf.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f7ced99a3825c9a7ed5a6666a2acd4eb9b8f2f50",
      "new_mode": 33188,
      "new_path": "modules/desktop_capture/linux/egl_dmabuf.h"
    },
    {
      "type": "rename",
      "old_id": "44e4100db17cf70672e7fe67413aea4e9373b3a5",
      "old_mode": 33188,
      "old_path": "modules/desktop_capture/linux/pipewire03.sigs",
      "new_id": "ffcd0770a49f418b89022e622d2285b5554ea15c",
      "new_mode": 33188,
      "new_path": "modules/desktop_capture/linux/pipewire.sigs",
      "score": 97
    },
    {
      "type": "modify",
      "old_id": "9d7dbd27c5dff708894c91cefa3d7de8deccb3a4",
      "old_mode": 33188,
      "old_path": "modules/desktop_capture/linux/pipewire_stub_header.fragment",
      "new_id": "06ae18dfd480467601b5e68f05994e7e0156f54b",
      "new_mode": 33188,
      "new_path": "modules/desktop_capture/linux/pipewire_stub_header.fragment"
    },
    {
      "type": "modify",
      "old_id": "3d8c538c372dbaccf0ad7f1f567941e7596ee106",
      "old_mode": 33188,
      "old_path": "webrtc.gni",
      "new_id": "90f69f03e0921dac1c7ea9b135c56ed4bf840fe2",
      "new_mode": 33188,
      "new_path": "webrtc.gni"
    }
  ]
}
