[webkit-changes] [WebKit/WebKit] ec6f4d: ScreenCaptureKitCaptureSource should not reconfigu...
youennf
noreply at github.com
Mon May 13 06:13:28 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: ec6f4da2341ed9b831b175e61003eafe53b10c92
https://github.com/WebKit/WebKit/commit/ec6f4da2341ed9b831b175e61003eafe53b10c92
Author: Youenn Fablet <youenn at apple.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm
Log Message:
-----------
ScreenCaptureKitCaptureSource should not reconfigure if video effect is on but overlay rect is not filled
rdar://127882407
https://bugs.webkit.org/show_bug.cgi?id=274076
Reviewed by Eric Carlson and Jean-Yves Avenard.
In rdar://125925090, https://commits.webkit.org/278390@main, we started detecting presenter overlay mode by looking at SCStreamFrameInfoPresenterOverlayContentRect.
We were checking whether the origin was not (0, 0) and not (Inf, Inf).
(0, 0) is to ensure we are not in small overlay mode.
(Inf, Inf) was to ensure there was some overlay.
When starting large presenter overlay mode, (Inf, Inf) may be used for a couple of video frames, in particular when going from small to large overlay mode.
This triggered sometimes reconfiguration, which was further delaying a correct overlay, ending in a loop of reconfiguration.
To prevent this, we only allow reconfiguration when we are sure we are in small presenter overlay mode, thus origin is (0, 0).
We rename hasLargePresenterOverlay to shouldDisallowReconfiguration as this is more consistent.
Manually tested.
* Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm:
(WebCore::ScreenCaptureKitCaptureSource::streamDidOutputVideoSampleBuffer):
Canonical link: https://commits.webkit.org/278685@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list