webrtc/modules/desktop_capture
Jan Grulich 3695640504 PipeWire capturer: copy content from PW buffer directly to DesktopFrame
This avoids an additional step where we originally copied content from
PipeWire buffer to a temporary location and from there to DesktopFrame.
This results into less copy operations and hopefully to faster
screensharing.

I didn't do some exact measures, but simply running htop while sharing a
4k screen I can see following results (usage per top 5 processes):
1) Without this change - 66%, 64%, 26% 23%, 10%
2) With this change - 41%, 39%, 19%, 17%, 12%,

Bug: webrtc:13239
Change-Id: I6a661ecc96bfeef370c1a5a3b9dc5e3c0fc665c8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/231684
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35156}
2021-10-06 13:22:32 +00:00
..
linux PipeWire capturer: copy content from PW buffer directly to DesktopFrame 2021-10-06 13:22:32 +00:00
mac [-Wshadow] - Fix some warnings. 2021-10-03 11:53:16 +00:00
win win: Consolidate on a single version checking API 2021-10-05 22:13:37 +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 Reland "PipeWire capturer: implement proper DMA-BUFs support"" 2021-10-06 10:31:51 +00:00
cropped_desktop_frame.cc Make CroppedWindowCapturer more resilient 2021-10-01 18:23:59 +00:00
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 Make CroppedWindowCapturer more resilient 2021-10-01 18:23:59 +00:00
cropping_window_capturer.cc Make CroppedWindowCapturer more resilient 2021-10-01 18:23:59 +00:00
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 win: Consolidate on a single version checking API 2021-10-05 22:13:37 +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
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
desktop_frame_win.cc Handle SharedMemory allocation failures 2021-09-22 23:49:50 +00:00
desktop_frame_win.h
desktop_geometry.cc
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
full_screen_application_handler.h
full_screen_window_detector.cc
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 win: Consolidate on a single version checking API 2021-10-05 22:13:37 +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
screen_drawer_lock_posix.cc
screen_drawer_lock_posix.h
screen_drawer_mac.cc
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
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
window_finder_win.h