commit | 2d618de25a1bc40fbc3726fefdd842761fab61cc | [log] [tgz] |
---|---|---|
author | zijiehe <zijiehe@chromium.org> | Mon Aug 08 17:50:21 2016 -0700 |
committer | Commit bot <commit-bot@chromium.org> | Tue Aug 09 00:50:28 2016 +0000 |
tree | 30e181ef05994139e95287a99510e237048a2fee | |
parent | e3eff7c0625f82bf2e6dde1539699296a5415ae0 [diff] |
[Chromoting] Improve DirectX capturer to support multiple outputs Current DirectX capturer cannot capture multiple video cards or monitors. But according to DXGI desktop duplication sample (https://goo.gl/An0L9l), we can capture multiple video cards and monitors by duplicating them one by one. So instead of one IDXGIOutputDuplication instance, this change creates an IDXGIOutputDuplication instance for each monitor, and merge the output into one DesktopFrame. Several other changes are also included, 1. Add supports to DXGI_OUTDUPL_DESC.DesktopImageInSystemMemory. When this flag is true, we won't copy its content to staging buffer. 2. Capture one monitor instead of entire screen. Above changes make the logic complex. But with some refactor work, the logic is not disordered. Please refer to the doc @ https://goo.gl/hU1ifG. BUG=314516 Review-Url: https://codereview.webrtc.org/2099123002 Cr-Commit-Position: refs/heads/master@{#13684}
WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others. This page is maintained by the Google Chrome team.
See http://www.webrtc.org/native-code/development for instructions on how to get started developing with the native code.