diff --git a/modules/desktop_capture/mac/screen_capturer_mac.mm b/modules/desktop_capture/mac/screen_capturer_mac.mm index 06f735d8dc..20a2b93340 100644 --- a/modules/desktop_capture/mac/screen_capturer_mac.mm +++ b/modules/desktop_capture/mac/screen_capturer_mac.mm @@ -590,11 +590,11 @@ void ScreenCapturerMac::ScreenRefresh(CGDirectDisplayID display_id, region.AddRect(rect); } - - helper_.InvalidateRegion(region); - + // Always having the latest iosurface before invalidating a region. + // See https://bugs.chromium.org/p/webrtc/issues/detail?id=8652 for details. desktop_frame_provider_.InvalidateIOSurface( display_id, rtc::ScopedCFTypeRef(io_surface, rtc::RetainPolicy::RETAIN)); + helper_.InvalidateRegion(region); } std::unique_ptr ScreenCapturerMac::CreateFrame() {