webrtc/modules/desktop_capture
Jamie Walch f3886aea86 Include cursor rects in updated_region.
DesktopAndCursorComposer adds the cursor image to the desktop, but does
not change the updated_region, so it generally doesn't encode correctly
unless the mouse is moving over a region that is changing. This CL
extends the updated region to include the union of the old and new
cursor rects, with an optimization for the case where the cursor has
neither moved nor changed.

Bug: chromium:1043325
Change-Id: I52076c96528820833fda6aa95f5b1fbc0f613909
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166545
Reviewed-by: Sergey Ulanov <sergeyu@google.com>
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#30374}
2020-01-24 20:16:58 +00:00
..
linux Concatenate string literals at compile time. 2020-01-14 14:47:48 +00:00
mac Concatenate string literals at compile time. 2020-01-14 14:47:48 +00:00
win Concatenate string literals at compile time. 2020-01-14 14:47:48 +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 Reformat GN files. 2020-01-21 12:13:11 +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 Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +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 Replace assert() with RTC_DCHECK 2019-12-13 10:06:07 +00:00
cropping_window_capturer.cc Format almost everything. 2019-07-08 13:45:15 +00:00
cropping_window_capturer.h Implement handling for MS PowerPoint Presentation Mode. 2019-12-03 19:17:24 +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 Include cursor rects in updated_region. 2020-01-24 20:16:58 +00:00
desktop_and_cursor_composer.cc Include cursor rects in updated_region. 2020-01-24 20:16:58 +00:00
desktop_and_cursor_composer.h Include cursor rects in updated_region. 2020-01-24 20:16:58 +00:00
desktop_capture_options.cc Explicitly set and use WEBRTC_USE_X11 instead of USE_X11. 2019-12-13 09:36:25 +00:00
desktop_capture_options.h Explicitly set and use WEBRTC_USE_X11 instead of USE_X11. 2019-12-13 09:36:25 +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 RTC_EXPORT webrtc::DesktopCapturerDifferWrapper. 2019-10-23 23:34:46 +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 Explicitly set and use WEBRTC_USE_X11 instead of USE_X11. 2019-12-13 09:36:25 +00:00
desktop_capturer.h Explicitly set and use WEBRTC_USE_X11 instead of USE_X11. 2019-12-13 09:36:25 +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_unittest.cc Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +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 Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
desktop_frame.h Add missing RTC_EXPORT for the component build. 2019-10-15 09:07:44 +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 Include menus & dialogs in frames captured by WindowCapturerWin 2019-08-21 07:55:07 +00:00
desktop_geometry.h Revert "Reland "Reland "Implemented screen enumeration and selection for desktop capture under X11 using the X Resize and Rotate extension version 1.5.""" 2019-12-09 11:26:20 +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 Add missing RTC_EXPORT for the Chromium Windows build. 2019-11-07 09:32:24 +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
full_screen_application_handler.cc Implement handling for MS PowerPoint Presentation Mode. 2019-12-03 19:17:24 +00:00
full_screen_application_handler.h Implement handling for MS PowerPoint Presentation Mode. 2019-12-03 19:17:24 +00:00
full_screen_window_detector.cc Implement handling for MS PowerPoint Presentation Mode. 2019-12-03 19:17:24 +00:00
full_screen_window_detector.h Implement handling for MS PowerPoint Presentation Mode. 2019-12-03 19:17:24 +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 Explicitly set and use WEBRTC_USE_X11 instead of USE_X11. 2019-12-13 09:36:25 +00:00
mouse_cursor_monitor_mac.mm Implement handling for MS PowerPoint Presentation Mode. 2019-12-03 19:17:24 +00:00
mouse_cursor_monitor_null.cc Format almost everything. 2019-07-08 13:45:15 +00:00
mouse_cursor_monitor_unittest.cc Make deprecated OnMouseCursorPosition overload optional. 2020-01-17 23:14:21 +00:00
mouse_cursor_monitor_win.cc Include menus & dialogs in frames captured by WindowCapturerWin 2019-08-21 07:55:07 +00:00
mouse_cursor_monitor.h Make deprecated OnMouseCursorPosition overload optional. 2020-01-17 23:14:21 +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 Explicitly set and use WEBRTC_USE_X11 instead of USE_X11. 2019-12-13 09:36:25 +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 Don't crash the test process when X11 isn't available. 2019-12-16 09:57:59 +00:00
screen_capturer_win.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
screen_drawer_linux.cc Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +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 std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
screen_drawer_unittest.cc Don't crash the test process when X11 isn't available. 2019-12-16 09:57:59 +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 Add missing RTC_EXPORT for the component build. 2019-10-15 09:07:44 +00:00
test_utils_unittest.cc Don't crash the test process when X11 isn't available. 2019-12-16 09:57:59 +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 Explicitly set and use WEBRTC_USE_X11 instead of USE_X11. 2019-12-13 09:36:25 +00:00
window_capturer_mac.mm Implement handling for MS PowerPoint Presentation Mode. 2019-12-03 19:17:24 +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 Don't crash the test process when X11 isn't available. 2019-12-16 09:57:59 +00:00
window_capturer_win.cc Avoid capturing system UI over selected window 2019-12-05 19:13:03 +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 Implement handling for MS PowerPoint Presentation Mode. 2019-12-03 19:17:24 +00:00
window_finder_unittest.cc Explicitly set and use WEBRTC_USE_X11 instead of USE_X11. 2019-12-13 09:36:25 +00:00
window_finder_win.cc Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +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 Explicitly set and use WEBRTC_USE_X11 instead of USE_X11. 2019-12-13 09:36:25 +00:00