webrtc/modules/desktop_capture/mac
braveyao 1d61c430d9 desktopCapture: copy whole screen region when screen is zoomed on OSX
When screen is zoomed in/out, OSX only updates the parts of Rects currently
displayed on screen, with relative location to current top-left on screen.
This will cause problems when we copy the dirty regions to the captured
frame. So we invalidate the whole screen to copy all the screen contents.

- With CGI method, the zooming will be ignored and the whole screen contents
will be captured as before.
- With IOSurface method, the zoomed screen contents will be captured.

Since we can't know the zooming level and focusing location, so we have
to copy the whole screen region for each frame during rooming. And this
will impact peformance a bit (with IOSurface capturer about 5-10 fps
down on MBP.)

Bug: chromium:911862
Change-Id: Icf123cde4d686ab7ce28fa731bc8dac6925492c8
Reviewed-on: https://webrtc-review.googlesource.com/c/113101
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Brave Yao <braveyao@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25936}
2018-12-07 17:22:35 +00:00
..
desktop_configuration_monitor.cc Include event_wrapper.h only where used. 2018-12-04 14:50:18 +00:00
desktop_configuration_monitor.h Remove event wait logic from DesktopConfigurationMonitor 2018-10-30 16:05:21 +00:00
desktop_configuration.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
desktop_configuration.mm [desktopCapture Mac] Continue screen capture at graphic cards switching 2018-04-27 04:07:05 +00:00
desktop_frame_cgimage.h Obj-C SDK Cleanup 2018-08-30 10:42:41 +00:00
desktop_frame_cgimage.mm Add DesktopFrameCGImage 2018-03-29 22:56:38 +00:00
desktop_frame_iosurface.h Obj-C SDK Cleanup 2018-08-30 10:42:41 +00:00
desktop_frame_iosurface.mm Make ScreenCapturerMac more robust when using IOSurface 2018-04-12 23:04:58 +00:00
desktop_frame_provider.h Obj-C SDK Cleanup 2018-08-30 10:42:41 +00:00
desktop_frame_provider.mm ScreenCapturerMac: destroy the streams and remove the DisplayStreamManager 2018-08-31 23:49:29 +00:00
full_screen_chrome_window_detector.cc Delete unused includes of assert.h 2018-10-04 14:01:44 +00:00
full_screen_chrome_window_detector.h New classes RefCounter and RefCountedBase. 2017-10-23 11:46:47 +00:00
screen_capturer_mac.h ScreenCapturerMac: destroy the streams and remove the DisplayStreamManager 2018-08-31 23:49:29 +00:00
screen_capturer_mac.mm desktopCapture: copy whole screen region when screen is zoomed on OSX 2018-12-07 17:22:35 +00:00
window_list_utils.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
window_list_utils.h Reland "[desktopCapture] Unify the position info in DIP coordinates on Mac." 2018-05-17 18:45:42 +00:00