From: Andreas Pehrson Date: Wed, 28 Aug 2024 07:50:00 +0000 Subject: Bug 1915082 - From ScreenCapturerSck request frames in sRGB colorspace. r=webrtc-reviewers,ng The desktop capture path has no colorspace handling for RGB, and libyuv assumes sRGB by default. ScreenCaptureKit returns frames in the display's colorspace unless told otherwise. On modern macs this is 'Display P3' and will render inaccurately when interpreted as sRGB. Differential Revision: https://phabricator.services.mozilla.com/D220219 Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/6f6acc479b373662d4ed3ef3be84c3581622297f --- modules/desktop_capture/mac/screen_capturer_sck.mm | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/desktop_capture/mac/screen_capturer_sck.mm b/modules/desktop_capture/mac/screen_capturer_sck.mm index 707199cd9e..14c7ea24ec 100644 --- a/modules/desktop_capture/mac/screen_capturer_sck.mm +++ b/modules/desktop_capture/mac/screen_capturer_sck.mm @@ -258,6 +258,7 @@ void ScreenCapturerSck::OnShareableContentCreated(SCShareableContent* content) { excludingWindows:@[]]; SCStreamConfiguration* config = [[SCStreamConfiguration alloc] init]; config.pixelFormat = kCVPixelFormatType_32BGRA; + config.colorSpaceName = kCGColorSpaceSRGB; config.showsCursor = capture_options_.prefer_cursor_embedded(); config.width = filter.contentRect.size.width * filter.pointPixelScale; config.height = filter.contentRect.size.height * filter.pointPixelScale;