Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(29)

Issue 2299663003: [WebRTC] Two DirectX capturers cannot work concurrently (Closed)

Created:
4 years, 3 months ago by Hzj_jie
Modified:
4 years, 3 months ago
Reviewers:
Sergey Ulanov, Jamie
CC:
webrtc-reviews_webrtc.org, tterriberry_mozilla.com
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

[WebRTC] Two DirectX capturers cannot work concurrently 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 Committed: https://crrev.com/aa90b313b437df0043d0c1621f1175727f6145f6 Cr-Commit-Position: refs/heads/master@{#14077}

Patch Set 1 #

Total comments: 6

Patch Set 2 : Resolve review comments #

Patch Set 3 : Sync latest changes #

Unified diffs Side-by-side diffs Delta from patch set Stats (+83 lines, -86 lines) Patch
M webrtc/modules/desktop_capture/win/dxgi_adapter_duplicator.h View 2 chunks +7 lines, -10 lines 0 comments Download
M webrtc/modules/desktop_capture/win/dxgi_adapter_duplicator.cc View 2 chunks +5 lines, -7 lines 0 comments Download
M webrtc/modules/desktop_capture/win/dxgi_duplicator_controller.h View 4 chunks +6 lines, -19 lines 0 comments Download
M webrtc/modules/desktop_capture/win/dxgi_duplicator_controller.cc View 2 chunks +8 lines, -14 lines 0 comments Download
M webrtc/modules/desktop_capture/win/dxgi_output_duplicator.h View 1 6 chunks +19 lines, -10 lines 0 comments Download
M webrtc/modules/desktop_capture/win/dxgi_output_duplicator.cc View 1 5 chunks +36 lines, -23 lines 0 comments Download
M webrtc/modules/desktop_capture/win/screen_capturer_win_directx.cc View 2 chunks +2 lines, -3 lines 0 comments Download

Messages

Total messages: 25 (15 generated)
Hzj_jie
4 years, 3 months ago (2016-09-01 20:51:21 UTC) #8
Hzj_jie
TwoDirectxCapturers test will be enabled after CL/2268093002 has been submitted.
4 years, 3 months ago (2016-09-01 21:19:28 UTC) #9
Jamie
I'm not an OWNER for WebRTC, so I'll let Sergey handle this one.
4 years, 3 months ago (2016-09-02 23:11:23 UTC) #10
Sergey Ulanov
lgtm when my comments are addressed https://codereview.chromium.org/2299663003/diff/100001/webrtc/modules/desktop_capture/win/dxgi_output_duplicator.cc File webrtc/modules/desktop_capture/win/dxgi_output_duplicator.cc (right): https://codereview.chromium.org/2299663003/diff/100001/webrtc/modules/desktop_capture/win/dxgi_output_duplicator.cc#newcode174 webrtc/modules/desktop_capture/win/dxgi_output_duplicator.cc:174: context->updated_region.Clear(); Don't need ...
4 years, 3 months ago (2016-09-02 23:57:35 UTC) #11
Hzj_jie
https://codereview.chromium.org/2299663003/diff/100001/webrtc/modules/desktop_capture/win/dxgi_output_duplicator.cc File webrtc/modules/desktop_capture/win/dxgi_output_duplicator.cc (right): https://codereview.chromium.org/2299663003/diff/100001/webrtc/modules/desktop_capture/win/dxgi_output_duplicator.cc#newcode174 webrtc/modules/desktop_capture/win/dxgi_output_duplicator.cc:174: context->updated_region.Clear(); On 2016/09/02 23:57:35, Sergey Ulanov wrote: > Don't ...
4 years, 3 months ago (2016-09-05 21:24:22 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2299663003/140001
4 years, 3 months ago (2016-09-05 21:24:51 UTC) #16
commit-bot: I haz the power
Try jobs failed on following builders: presubmit on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/presubmit/builds/8062)
4 years, 3 months ago (2016-09-05 21:27:17 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2299663003/160001
4 years, 3 months ago (2016-09-05 22:02:06 UTC) #21
commit-bot: I haz the power
Committed patchset #3 (id:160001)
4 years, 3 months ago (2016-09-05 22:40:03 UTC) #23
commit-bot: I haz the power
4 years, 3 months ago (2016-09-05 22:40:12 UTC) #25
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/aa90b313b437df0043d0c1621f1175727f6145f6
Cr-Commit-Position: refs/heads/master@{#14077}

Powered by Google App Engine
This is Rietveld 408576698