[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