[webkit-changes] [WebKit/WebKit] ba4235: [Cocoa, MediaStream] Support AVCapture virtual cam...

Eric Carlson noreply at github.com
Fri Jan 6 17:21:58 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ba4235d06159cea7784a8c6962a9facd2e0c8a9b
      https://github.com/WebKit/WebKit/commit/ba4235d06159cea7784a8c6962a9facd2e0c8a9b
  Author: Eric Carlson <eric.carlson at apple.com>
  Date:   2023-01-06 (Fri, 06 Jan 2023)

  Changed paths:
    M Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h
    M Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.mm
    M Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp
    M Source/WebCore/platform/mediastream/RealtimeMediaSource.h
    M Source/WebCore/platform/mediastream/RealtimeVideoSource.h
    M Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm
    M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.h
    M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm

  Log Message:
  -----------
  [Cocoa, MediaStream] Support AVCapture virtual cameras
https://bugs.webkit.org/show_bug.cgi?id=250142
rdar://103925476

Reviewed by Youenn Fablet.

Add support for AVCapture virtual cameras. When getUserMedia video constraints request
`facingMode : environment`, prefer the wide angle camera with the greatest capabilities.

* Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h:
* Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.mm: Include additional camera constants.

* Source/WebCore/platform/mediastream/RealtimeMediaSource.h: Make `fitnessDistance` virtual.
* Source/WebCore/platform/mediastream/RealtimeVideoSource.h: Implement `fitnessDistance`,
pass through to source.

* Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm:
(WebCore::cameraCaptureDeviceTypes): Include AVCaptureDeviceTypeBuiltInDualWideCamera and
AVCaptureDeviceTypeBuiltInTripleCamera in types array.

* Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::fitnessDistance): Add facingModeFitnessDistanceAdjustment to
calculated `facingMode` fitness distance.

* Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.h:
* Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::facingModeFitnessDistanceAdjustment const): Return a value to
prefer wide angle cameras, and so when a device has more than one wide angle camera we prefer
the wide angle camera with the greatest capabilities.

Canonical link: https://commits.webkit.org/258585@main




More information about the webkit-changes mailing list