gecko-dev/third_party/libwebrtc/moz-patch-stack/0112.patch

29 lines
1.5 KiB
Diff

From: Andreas Pehrson <apehrson@mozilla.com>
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 ab4d9137a0..af1a4e360b 100644
--- a/modules/desktop_capture/mac/screen_capturer_sck.mm
+++ b/modules/desktop_capture/mac/screen_capturer_sck.mm
@@ -245,6 +245,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;