)]}'
{
  "commit": "25b0dee820a893888268a619c540ba6ccc49cfb5",
  "tree": "dd15dfd1189995d50498b0de8a3d8e32fe69bef5",
  "parents": [
    "5b5abd79106a1770bb6fdab9e40f7270c7d4259a"
  ],
  "author": {
    "name": "Austin Orion",
    "email": "auorion@microsoft.com",
    "time": "Thu Oct 01 20:47:54 2020"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Fri Oct 02 07:29:31 2020"
  },
  "message": "Reland \"Begin implementing WGC CaptureFrame\"\n\nThis reverts commit 61709a3233174618d5ab46e1ee5847e4b150c7ef.\n\nReason for revert: Some downstream projects have issues building this\nchange due to the inclusion of the \u003cwindows.graphics.capture.h\u003e header\nwhich is newly available in the Win 10 SDK v10.0.19041.\n\nTo get around this issue for now, this change adds an off-by-default\nbuild flag for these files. However, in the future we will want to\ntoggle this flag on, and the downstream projects will either need to\nupdate their SDK versions or toggle this flag in their WebRTC clone.\n\nOriginal change\u0027s description:\n\u003e Revert \"Begin implementing WGC CaptureFrame\"\n\u003e\n\u003e This reverts commit e820cef5340610b9beebbcb63868743b95b97fcd.\n\u003e\n\u003e Reason for revert: Breaks downstream client. I will investigate and\n\u003e get back with a suggestion to fix.\n\u003e\n\u003e Original change\u0027s description:\n\u003e \u003e Begin implementing WGC CaptureFrame\n\u003e \u003e\n\u003e \u003e This change introduces the design that will allow us to deliver frames\n\u003e \u003e synchronously to callers despite the Windows.Graphics.Capture APIs being\n\u003e \u003e inherently asynchronous.\n\u003e \u003e\n\u003e \u003e We achieve this by having WindowCapturerWinWgc create and maintain a\n\u003e \u003e WgcCaptureSession object for each window that it is asked to capture a\n\u003e \u003e frame for. The capture session object will be the class that actually\n\u003e \u003e uses the WGC APIs, and it will store the frames it receives in a frame\n\u003e \u003e pool and deliver them via GetMostRecentFrame.\n\u003e \u003e\n\u003e \u003e The next CL will add the necessary functionality to the\n\u003e \u003e WgcCaptureSession class.\n\u003e \u003e\n\u003e \u003e Bug: webrtc:9273\n\u003e \u003e Change-Id: I44e164f4874503d8ccc8e6a210e74f9c8458f6c4\n\u003e \u003e Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184220\n\u003e \u003e Commit-Queue: Austin Orion \u003cauorion@microsoft.com\u003e\n\u003e \u003e Reviewed-by: Tommi \u003ctommi@webrtc.org\u003e\n\u003e \u003e Cr-Commit-Position: refs/heads/master@{#32240}\n\u003e\n\u003e TBR\u003dmbonadei@webrtc.org,jamiewalch@chromium.org,tommi@webrtc.org,auorion@microsoft.com\n\u003e\n\u003e Change-Id: I114944357ce5be7d1e2da817703dc95d544aa99a\n\u003e No-Presubmit: true\n\u003e No-Tree-Checks: true\n\u003e No-Try: true\n\u003e Bug: webrtc:9273\n\u003e Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/186045\n\u003e Reviewed-by: Mirko Bonadei \u003cmbonadei@webrtc.org\u003e\n\u003e Commit-Queue: Mirko Bonadei \u003cmbonadei@webrtc.org\u003e\n\u003e Cr-Commit-Position: refs/heads/master@{#32248}\n\nBug: webrtc:9273\nChange-Id: I9644fbf8f1fd1a84cb716176b8f14e3683a3f7cb\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/186423\nCommit-Queue: Tommi \u003ctommi@webrtc.org\u003e\nReviewed-by: Tommi \u003ctommi@webrtc.org\u003e\nCr-Commit-Position: refs/heads/master@{#32286}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "735616b633c9ac3c624002e184fbf7d7f7ee9b38",
      "old_mode": 33188,
      "old_path": "modules/desktop_capture/BUILD.gn",
      "new_id": "2cb6891c9e2359790591a831db1047ec8634b7d9",
      "new_mode": 33188,
      "new_path": "modules/desktop_capture/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "61926a6023a2154878a9f0f7f4227b484feea169",
      "old_mode": 33188,
      "old_path": "modules/desktop_capture/desktop_capturer.cc",
      "new_id": "e1fff4ea57a02a98d576fa5cecb3d8ab1333c03b",
      "new_mode": 33188,
      "new_path": "modules/desktop_capture/desktop_capturer.cc"
    },
    {
      "type": "modify",
      "old_id": "3a18b7852d932a68ec5ade947b0173b82c2991a6",
      "old_mode": 33188,
      "old_path": "modules/desktop_capture/desktop_frame.h",
      "new_id": "4ee3680670c79ca97ca65437b756ad06d9078c51",
      "new_mode": 33188,
      "new_path": "modules/desktop_capture/desktop_frame.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ee55cf6164cbce78876754669c253d54344d6d06",
      "new_mode": 33188,
      "new_path": "modules/desktop_capture/win/wgc_capture_session.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9f41331c926490ebe6629599e36997bad02f8518",
      "new_mode": 33188,
      "new_path": "modules/desktop_capture/win/wgc_capture_session.h"
    },
    {
      "type": "modify",
      "old_id": "3f64983e0de744bc3f3b64d027f07a43cd124614",
      "old_mode": 33188,
      "old_path": "modules/desktop_capture/win/window_capturer_win_wgc.cc",
      "new_id": "30a672d9ef75dff5f5d0d2a92f2d4e5a115100e8",
      "new_mode": 33188,
      "new_path": "modules/desktop_capture/win/window_capturer_win_wgc.cc"
    },
    {
      "type": "modify",
      "old_id": "6617a2d4d9d869669eb91595f7721d6925989ddd",
      "old_mode": 33188,
      "old_path": "modules/desktop_capture/win/window_capturer_win_wgc.h",
      "new_id": "7e05b0e541c6a95e8c4952d537418c13db967384",
      "new_mode": 33188,
      "new_path": "modules/desktop_capture/win/window_capturer_win_wgc.h"
    },
    {
      "type": "modify",
      "old_id": "a63a24df586ba81be9240f25d72dbc8cd53af048",
      "old_mode": 33188,
      "old_path": "modules/desktop_capture/window_capturer_win.cc",
      "new_id": "4bfa09f4d62944ae5c9a69848cb2918bd1d2c7d7",
      "new_mode": 33188,
      "new_path": "modules/desktop_capture/window_capturer_win.cc"
    },
    {
      "type": "modify",
      "old_id": "2e6c1577cedab1d63af1b5035010b50b54512e24",
      "old_mode": 33188,
      "old_path": "rtc_base/win/windows_version.cc",
      "new_id": "42148adeeac5a39cd6c8624eddc16a19c0d7b6a0",
      "new_mode": 33188,
      "new_path": "rtc_base/win/windows_version.cc"
    },
    {
      "type": "modify",
      "old_id": "1ad319e4ccffebfb7fb2f68d9809ce4773b79f31",
      "old_mode": 33188,
      "old_path": "rtc_base/win/windows_version.h",
      "new_id": "33449e2b37975b3c86660b7497a5aacc9554cadd",
      "new_mode": 33188,
      "new_path": "rtc_base/win/windows_version.h"
    },
    {
      "type": "modify",
      "old_id": "ba932429085ad397c8caa18e1860b602f8a1b13e",
      "old_mode": 33188,
      "old_path": "webrtc.gni",
      "new_id": "23d31b65dc6c904f2081f953fc3fc2641b6f387f",
      "new_mode": 33188,
      "new_path": "webrtc.gni"
    }
  ]
}
