webrtc/modules/desktop_capture
Lambros Lambrou 702f2a44ba [ScreenCapturerX11] Fix update-region for monitors with offsets.
This CL ensures that each DesktopFrame's updated-region is expressed in
the frame's own coordinates, where the top-left is always (0, 0).
For example, DesktopFrame::GetFrameDataAtPos() and its callers use
this coordinate system.

Previously, whenever a RANDR monitor with a non-zero offset was
selected, ScreenCapturerX11 would hit some DCHECKs when trying to
copy pixels from previous frames, or when capturing new pixels into
them from XDAMAGE regions.

Bug: None
Change-Id: I7b2e8d0449359ee7b263ad60af193e2bf89aa1f4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232085
Reviewed-by: Joe Downing <joedow@chromium.org>
Commit-Queue: Joe Downing <joedow@chromium.org>
Cr-Commit-Position: refs/heads/main@{#35017}
2021-09-16 17:12:26 +00:00
..
linux [ScreenCapturerX11] Fix update-region for monitors with offsets. 2021-09-16 17:12:26 +00:00
mac Remove DCHECK when overwriting shared DesktopFrame. 2021-09-02 17:33:16 +00:00
win Remove DCHECK when overwriting shared DesktopFrame. 2021-09-02 17:33:16 +00:00
blank_detector_desktop_capturer_wrapper.cc Add missing interface methods. 2020-02-18 22:36:00 +00:00
blank_detector_desktop_capturer_wrapper.h Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
blank_detector_desktop_capturer_wrapper_unittest.cc
BUILD.gn Revert "Reland "PipeWire capturer: implement proper DMA-BUFs support""" 2021-09-03 11:28:26 +00:00
cropped_desktop_frame.cc
cropped_desktop_frame.h Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
cropped_desktop_frame_unittest.cc Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
cropping_window_capturer.cc
cropping_window_capturer.h Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
cropping_window_capturer_win.cc Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
DEPS Revert "Reland "PipeWire capturer: implement proper DMA-BUFs support""" 2021-09-03 11:28:26 +00:00
desktop_and_cursor_composer.cc Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
desktop_and_cursor_composer.h Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
desktop_and_cursor_composer_unittest.cc Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
desktop_capture_metrics_helper.cc Add telemetry to measure usage, perf, and errors in Desktop Capturers. 2021-04-13 23:30:52 +00:00
desktop_capture_metrics_helper.h Add telemetry to measure usage, perf, and errors in Desktop Capturers. 2021-04-13 23:30:52 +00:00
desktop_capture_options.cc Revert "Improve screen sharing with PipeWire on Wayland" 2020-10-14 08:26:18 +00:00
desktop_capture_options.h Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
desktop_capture_types.h Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
desktop_capturer.cc Restrict WGC screen capture to Windows version 20H1 and greater. 2021-08-30 19:59:03 +00:00
desktop_capturer.h Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
desktop_capturer_differ_wrapper.cc Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
desktop_capturer_differ_wrapper.h RTC_EXPORT webrtc::DesktopCapturerDifferWrapper. 2019-10-23 23:34:46 +00:00
desktop_capturer_differ_wrapper_unittest.cc Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
desktop_capturer_wrapper.cc
desktop_capturer_wrapper.h
desktop_frame.cc Fixing a buffer copy issue in DesktopFrame 2021-04-09 20:48:32 +00:00
desktop_frame.h Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
desktop_frame_generator.cc Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
desktop_frame_generator.h Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
desktop_frame_rotation.cc Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
desktop_frame_rotation.h Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
desktop_frame_rotation_unittest.cc
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
desktop_frame_win.h
desktop_geometry.cc Include menus & dialogs in frames captured by WindowCapturerWin 2019-08-21 07:55:07 +00:00
desktop_geometry.h Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
desktop_geometry_unittest.cc
desktop_region.cc Use backticks not vertical bars to denote variables in comments 2021-08-10 10:40:03 +00:00
desktop_region.h Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
desktop_region_unittest.cc
differ_block.cc Refactor cpu_features_wrapper.h functions from C to C++. 2020-09-07 08:44:24 +00:00
differ_block.h Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
differ_block_unittest.cc
differ_vector_sse2.cc
differ_vector_sse2.h
fake_desktop_capturer.cc Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
fake_desktop_capturer.h Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
fallback_desktop_capturer_wrapper.cc Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
fallback_desktop_capturer_wrapper.h
fallback_desktop_capturer_wrapper_unittest.cc
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 Simplify reference counting implementation of PendingTaskSafetyFlag. 2021-04-21 07:04:01 +00:00
mock_desktop_capturer_callback.cc
mock_desktop_capturer_callback.h Replace mock macros with unified MOCK_METHOD macro 2020-05-28 14:11:53 +00:00
mouse_cursor.cc Replace assert() with RTC_DCHECK(). 2021-07-09 07:49:43 +00:00
mouse_cursor.h Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
mouse_cursor_monitor.h Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +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 Remove all #include <assert.h>/<cassert> and usage in Obj-C code. 2021-07-22 14:00:26 +00:00
mouse_cursor_monitor_null.cc
mouse_cursor_monitor_unittest.cc Remove all #include <assert.h>/<cassert> and usage in Obj-C code. 2021-07-22 14:00:26 +00:00
mouse_cursor_monitor_win.cc Remove all #include <assert.h>/<cassert> and usage in Obj-C code. 2021-07-22 14:00:26 +00:00
OWNERS Updating the OWNERS file for desktop capture 2020-09-15 21:34:24 +00:00
resolution_tracker.cc
resolution_tracker.h Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
rgba_color.cc
rgba_color.h Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
rgba_color_unittest.cc
screen_capture_frame_queue.h Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
screen_capturer_darwin.mm
screen_capturer_helper.cc Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
screen_capturer_helper.h Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
screen_capturer_helper_unittest.cc
screen_capturer_integration_test.cc Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
screen_capturer_linux.cc Fix some -Wunreachable-code-aggressive warnings 2021-08-16 11:09:16 +00:00
screen_capturer_mac_unittest.cc
screen_capturer_null.cc
screen_capturer_unittest.cc Temporarily skip tests that consistently fail on Linux MSan. 2021-07-08 08:11:50 +00:00
screen_capturer_win.cc Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
screen_drawer.cc
screen_drawer.h Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +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
screen_drawer_lock_posix.h
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 Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
screen_drawer_win.cc Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
shared_desktop_frame.cc
shared_desktop_frame.h Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
shared_memory.cc
shared_memory.h Avoid windows.h in shared_memory.h 2021-08-31 16:40:32 +00:00
test_utils.cc
test_utils.h Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +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
window_capturer_linux.cc Fix some -Wunreachable-code-aggressive warnings 2021-08-16 11:09:16 +00:00
window_capturer_mac.mm Remove all #include <assert.h>/<cassert> and usage in Obj-C code. 2021-07-22 14:00:26 +00:00
window_capturer_null.cc Replace assert() with RTC_DCHECK(). 2021-07-09 07:49:43 +00:00
window_capturer_unittest.cc Temporarily skip tests that consistently fail on Linux MSan. 2021-07-08 08:11:50 +00:00
window_capturer_win.cc Reland "Begin implementing WGC CaptureFrame" 2020-10-02 07:29:31 +00:00
window_finder.cc
window_finder.h Use backticks not vertical bars to denote variables in comments for /modules/desktop_capture 2021-08-09 13:12:52 +00:00
window_finder_mac.h
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