Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e46ffa98cd5d3466abcf9621b01e1b712921ff48 https://github.com/WebKit/WebKit/commit/e46ffa98cd5d3466abcf9621b01e1b712921ff48 Author: Youenn Fablet <you...@apple.com> Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths: M Source/WebCore/platform/cocoa/CoreVideoSoftLink.cpp M Source/WebCore/platform/cocoa/CoreVideoSoftLink.h M Source/WebCore/platform/cocoa/VideoToolboxSoftLink.cpp M Source/WebCore/platform/cocoa/VideoToolboxSoftLink.h M Source/WebCore/platform/graphics/cv/ImageTransferSessionVT.h M Source/WebCore/platform/graphics/cv/ImageTransferSessionVT.mm M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.h M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm Log Message: ----------- ScreenCaptureKitCaptureSource::streamDidOutputVideoSampleBuffer should crop video frames as needed rdar://127598482 https://bugs.webkit.org/show_bug.cgi?id=273764 Reviewed by Jean-Yves Avenard. ScreenCaptureKitCaptureSource::streamDidOutputVideoSampleBuffer receives buffers with black stripes. This happens in case of resizing or when large presenter overlay is enabled. To fix this, we crop via ImageTransferSessionVT the pixel buffer to remove those black stripes. We update ImageTransferSessionVT to allow setting a cropping rectangle. We set kCVImageBufferCleanApertureKey on the source buffer before doing the transfer to the new buffer. Manually tested by: - Capture screen, capture camera and go to large presenter overlay - Capture screen and resize captured window (w/o presenter overlay). * Source/WebCore/platform/cocoa/CoreVideoSoftLink.cpp: * Source/WebCore/platform/cocoa/CoreVideoSoftLink.h: * Source/WebCore/platform/cocoa/VideoToolboxSoftLink.cpp: * Source/WebCore/platform/cocoa/VideoToolboxSoftLink.h: * Source/WebCore/platform/graphics/cv/ImageTransferSessionVT.h: * Source/WebCore/platform/graphics/cv/ImageTransferSessionVT.mm: (WebCore::ImageTransferSessionVT::setCroppingRectangle): (WebCore::ImageTransferSessionVT::convertPixelBuffer): * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.h: * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm: (WebCore::ScreenCaptureKitCaptureSource::streamDidOutputVideoSampleBuffer): Canonical link: https://commits.webkit.org/278475@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