Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: bc5355f67f69e837837f1519fdf132976f40d2c2 https://github.com/WebKit/WebKit/commit/bc5355f67f69e837837f1519fdf132976f40d2c2 Author: Youenn Fablet <you...@apple.com> Date: 2024-03-07 (Thu, 07 Mar 2024)
Changed paths: M Source/WebCore/PAL/pal/mac/ScreenCaptureKitSoftLink.h M Source/WebCore/PAL/pal/mac/ScreenCaptureKitSoftLink.mm M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.h M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm Log Message: ----------- getDisplayMedia captured windows get black frames when window gets resized https://bugs.webkit.org/show_bug.cgi?id=270568 rdar://124131045 Reviewed by Eric Carlson. When a window size changes, we may need to update the capture size so as to respect aspect ratio and not introduce black frames. For that purpose, we store the content size in ScreenCaptureKitCaptureSource::m_contentSize and we initialize it at start up using SCContentFilter. Then, when capture has started, we get the content size from the sample buffer attachment, using SCStreamFrameInfoScaleFactor, SCStreamFrameInfoContentScale and SCStreamFrameInfoContentRect. If m_contentSize changes, we update the capture size. We ensure that the capture size keeps the aspect ratio even in case where width and height are set via media constraints by either computing width from height or the reverse but keeping aspect ratio computed from m_contentSize. * Source/WebCore/PAL/pal/mac/ScreenCaptureKitSoftLink.h: * Source/WebCore/PAL/pal/mac/ScreenCaptureKitSoftLink.mm: * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.h: * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm: (WebCore::ScreenCaptureKitCaptureSource::streamConfiguration): (WebCore::ScreenCaptureKitCaptureSource::startContentStream): (WebCore::ScreenCaptureKitCaptureSource::streamDidOutputVideoSampleBuffer): Canonical link: https://commits.webkit.org/275794@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes