DirectX capturer won't be able to update the DesktopFrame for the second ScreenCapturerWinDirectx instance, if AcquireNextFrame() returns timeout or unchanged error. Current solution uses |last_frame| of the second ScreenCapturerWinDirectx instance, which also does not contain the updated frame between this and last AcquireNextFrame() calls. Considering following situation, (C1: capturer 1, C2: capturer 2, update: screen updated, next AcquireNextFrame() call will return a new frame, Fx: a frame x) update -> C2.capture returns F1 -> update -> C1.capture returns F2 -> C2.capture unchanged So using F1 to update the last capture frame is not correct, we need to use F2. Refer to design doc https://goo.gl/hU1ifG for a detail description. The change also makes DxgiDuplicatorController work with 2+ DesktopFrame queue. Now TwoDirectxCapturers test can pass. BUG=314516 Review-Url: https://codereview.webrtc.org/2299663003 Cr-Commit-Position: refs/heads/master@{#14077}
Name: WebRTC URL: http://www.webrtc.org Version: 90 License: BSD License File: LICENSE Description: WebRTC provides real time voice and video processing functionality to enable the implementation of PeerConnection/MediaStream. Third party code used in this project is described in the file LICENSE_THIRD_PARTY.