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

Issue 2748813002: BlankDetectorDesktopCapturerWrapper to detect a blank DesktopFrame (Closed)

Created:
3 years, 9 months ago by Sergey Ulanov
Modified:
3 years, 9 months ago
Reviewers:
CC:
webrtc-reviews_webrtc.org
Target Ref:
refs/branch-heads/58
Project:
webrtc
Visibility:
Public.

Description

BlankDetectorDesktopCapturerWrapper to detect a blank DesktopFrame DXGI capturer highly depends on video adapter and its driver, as well as Windows itself. I recently found it cannot work on my virtualbox instance any more, which indicates it may not work well on some specific systems. What worse is, the APIs do not return a failure in such case. So this change adds a BlankDetectorDesktopCapturerWrapper, which samples several pixels in the frame returned by a DesktopCapturer implementation. If all the pixels selected are blank, this wrapper returns a failure. A typical usage is to combine BlankDetectorDesktopCapturerWrapper with FallbackDesktopCapturerWrapper, and use GDI capturer in case of failure. Usually less than 10000 pixels are checked, so the BlankDetectorDesktopCapturerWrapper should not significant impact the capturer performance. This change is expected to resolve bug 682112 in another dimension. BUG=chromium:682112 Review-Url: https://codereview.webrtc.org/2709523003 Cr-Original-Commit-Position: refs/heads/master@{#16984} Committed: https://chromium.googlesource.com/external/webrtc/+/c4e9d210b3516c7b2faa32f24409a2e626599255 Review-Url: https://codereview.webrtc.org/2709523003 Cr-Commit-Position: refs/heads/master@{#17024} (cherry picked from commit ccf57a71eb2a550744367a4cbec285d85494c3c2) Review-Url: https://codereview.webrtc.org/2748813002 . Cr-Commit-Position: refs/branch-heads/58@{#2} Cr-Branched-From: f31969a584bcafe9406c214a9d4c3afb49d19650-refs/heads/master@{#16937} Committed: https://chromium.googlesource.com/external/webrtc/+/c622c51234ae7fb0a0c6c45c74a8a8ee073482d5

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+378 lines, -30 lines) Patch
M webrtc/modules/desktop_capture/BUILD.gn View 7 chunks +8 lines, -23 lines 0 comments Download
A webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper.h View 1 chunk +74 lines, -0 lines 0 comments Download
A webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper.cc View 1 chunk +115 lines, -0 lines 0 comments Download
A webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper_unittest.cc View 1 chunk +163 lines, -0 lines 0 comments Download
M webrtc/modules/desktop_capture/rgba_color.h View 1 chunk +0 lines, -3 lines 0 comments Download
M webrtc/modules/desktop_capture/screen_capturer_win.cc View 1 chunk +18 lines, -4 lines 0 comments Download

Messages

Total messages: 2 (1 generated)
Sergey Ulanov
3 years, 9 months ago (2017-03-13 18:50:18 UTC) #2
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as
c622c51234ae7fb0a0c6c45c74a8a8ee073482d5.

Powered by Google App Engine
This is Rietveld 408576698