webrtc/modules/desktop_capture
Julien Isorce 5e25facefd CroppingWindowCapturerWin: filter out cloaked window.
A cloaked window is composited but not visible to the user.
When Win10 feature 'Cortana' is enabled it creates a window
that is always invisible and its z-order is top most. Because
of that the cropping capturer detects occlusion everywhere
preventing it from capturing anything.

The solution is to ignore all cloaked windows like if
::IsWindowVisible would return false.

Bug: chromium:978885
Change-Id: Id5aa8dc81dcf4979ffb30dd808fa2a553934c6e6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/143980
Commit-Queue: Julien Isorce <julien.isorce@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28510}
2019-07-08 19:28:42 +00:00
..
linux Format almost everything. 2019-07-08 13:45:15 +00:00
mac Format almost everything. 2019-07-08 13:45:15 +00:00
win CroppingWindowCapturerWin: filter out cloaked window. 2019-07-08 19:28:42 +00:00
blank_detector_desktop_capturer_wrapper_unittest.cc Fully qualify googletest symbols. 2019-04-09 17:18:20 +00:00
blank_detector_desktop_capturer_wrapper.cc Format almost everything. 2019-07-08 13:45:15 +00:00
blank_detector_desktop_capturer_wrapper.h Revert "Desktop capturer: Add OnDisplayChanged callback" 2018-12-22 00:10:40 +00:00
BUILD.gn Reland "Link fewer X11-related libraries" 2019-06-11 07:34:49 +00:00
capture_result_desktop_capturer_wrapper.cc Set callback_ member at start of desktop capturer Start() 2019-01-11 21:16:22 +00:00
capture_result_desktop_capturer_wrapper.h [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
cropped_desktop_frame_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
cropped_desktop_frame.cc Format almost everything. 2019-07-08 13:45:15 +00:00
cropped_desktop_frame.h [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
cropping_window_capturer_win.cc Format almost everything. 2019-07-08 13:45:15 +00:00
cropping_window_capturer.cc Format almost everything. 2019-07-08 13:45:15 +00:00
cropping_window_capturer.h Revert "Desktop capturer: Add OnDisplayChanged callback" 2018-12-22 00:10:40 +00:00
DEPS Can use the given IOSurfaceRef to reach higher capture framerate on Mac 2018-04-10 00:37:59 +00:00
desktop_and_cursor_composer_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
desktop_and_cursor_composer.cc Format almost everything. 2019-07-08 13:45:15 +00:00
desktop_and_cursor_composer.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
desktop_capture_options.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
desktop_capture_options.h Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +00:00
desktop_capture_types.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
desktop_capturer_differ_wrapper_unittest.cc Fully qualify googletest symbols. 2019-04-09 17:18:20 +00:00
desktop_capturer_differ_wrapper.cc Format almost everything. 2019-07-08 13:45:15 +00:00
desktop_capturer_differ_wrapper.h Revert "Desktop capturer: Add OnDisplayChanged callback" 2018-12-22 00:10:40 +00:00
desktop_capturer_wrapper.cc Implement DesktopCapturerWrapper and CaptureResultDesktopCapturerWrapper 2017-09-15 18:56:26 +00:00
desktop_capturer_wrapper.h [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
desktop_capturer.cc Format almost everything. 2019-07-08 13:45:15 +00:00
desktop_capturer.h Revert "Desktop capturer: Add OnDisplayChanged callback" 2018-12-22 00:10:40 +00:00
desktop_frame_generator.cc Format almost everything. 2019-07-08 13:45:15 +00:00
desktop_frame_generator.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
desktop_frame_rotation_unittest.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
desktop_frame_rotation.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
desktop_frame_rotation.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
desktop_frame_win.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
desktop_frame_win.h Format almost everything. 2019-07-08 13:45:15 +00:00
desktop_frame.cc Format almost everything. 2019-07-08 13:45:15 +00:00
desktop_frame.h Format almost everything. 2019-07-08 13:45:15 +00:00
desktop_geometry_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
desktop_geometry.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
desktop_geometry.h webrtc: Remove semicolons. 2019-02-20 16:02:59 +00:00
desktop_region_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
desktop_region.cc Format almost everything. 2019-07-08 13:45:15 +00:00
desktop_region.h Format almost everything. 2019-07-08 13:45:15 +00:00
differ_block_unittest.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
differ_block.cc Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
differ_block.h Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
differ_vector_sse2.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
differ_vector_sse2.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
fake_desktop_capturer.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
fake_desktop_capturer.h [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
fallback_desktop_capturer_wrapper_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
fallback_desktop_capturer_wrapper.cc Format almost everything. 2019-07-08 13:45:15 +00:00
fallback_desktop_capturer_wrapper.h Revert "Desktop capturer: Add OnDisplayChanged callback" 2018-12-22 00:10:40 +00:00
mock_desktop_capturer_callback.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
mock_desktop_capturer_callback.h Format almost everything. 2019-07-08 13:45:15 +00:00
mouse_cursor_monitor_linux.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
mouse_cursor_monitor_mac.mm Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +00:00
mouse_cursor_monitor_null.cc Format almost everything. 2019-07-08 13:45:15 +00:00
mouse_cursor_monitor_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
mouse_cursor_monitor_win.cc Format almost everything. 2019-07-08 13:45:15 +00:00
mouse_cursor_monitor.h Export symbols needed by the Chromium component build (part 8). 2019-04-02 10:13:36 +00:00
mouse_cursor.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
mouse_cursor.h Export symbols needed by the Chromium component build (part 8). 2019-04-02 10:13:36 +00:00
OWNERS desktopCapture: add braveyao@webrtc.org as OWNER 2018-09-05 17:42:26 +00:00
resolution_tracker.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
resolution_tracker.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
rgba_color_unittest.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
rgba_color.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rgba_color.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
screen_capture_frame_queue.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
screen_capturer_darwin.mm Can use the given IOSurfaceRef to reach higher capture framerate on Mac 2018-04-10 00:37:59 +00:00
screen_capturer_helper_unittest.cc Fully qualify googletest symbols. 2019-04-09 17:18:20 +00:00
screen_capturer_helper.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
screen_capturer_helper.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
screen_capturer_integration_test.cc Fully qualify googletest symbols. 2019-04-09 17:18:20 +00:00
screen_capturer_linux.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
screen_capturer_mac_unittest.cc Fully qualify googletest symbols. 2019-04-09 17:18:20 +00:00
screen_capturer_null.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
screen_capturer_unittest.cc Fully qualify googletest symbols. 2019-04-09 17:18:20 +00:00
screen_capturer_win.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
screen_drawer_linux.cc Format almost everything. 2019-07-08 13:45:15 +00:00
screen_drawer_lock_posix.cc Stop using LOG macros in favor of RTC_ prefixed macros. 2017-11-09 11:56:32 +00:00
screen_drawer_lock_posix.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
screen_drawer_mac.cc Use absl::make_unique and absl::WrapUnique directly 2018-07-05 10:59:49 +00:00
screen_drawer_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
screen_drawer_win.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
screen_drawer.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
screen_drawer.h [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
shared_desktop_frame.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
shared_desktop_frame.h Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +00:00
shared_memory.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
shared_memory.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
test_utils_unittest.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
test_utils.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
test_utils.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
window_capturer_linux.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
window_capturer_mac.mm Avoid a frame copy in WindowCapturerMac 2019-04-19 05:05:50 +00:00
window_capturer_null.cc (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
window_capturer_unittest.cc Fully qualify googletest symbols. 2019-04-09 17:18:20 +00:00
window_capturer_win.cc WindowCapturerWin: properly check return value of GetClassName 2019-06-27 21:11:41 +00:00
window_finder_mac.h Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +00:00
window_finder_mac.mm Use absl::make_unique and absl::WrapUnique directly 2018-07-05 10:59:49 +00:00
window_finder_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
window_finder_win.cc Use absl::make_unique and absl::WrapUnique directly 2018-07-05 10:59:49 +00:00
window_finder_win.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
window_finder.cc [Window Capturer] Implement scaling in GetWindowBounds() 2017-11-07 01:49:35 +00:00
window_finder.h Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +00:00