Closed Bug 1832717 Opened 2 years ago Closed 2 years ago

[SDK 13.3] third_party/libwebrtc/modules/desktop_capture/mac/screen_capturer_mac.mm:465:11: error: 'CGDisplayStreamUpdateGetRects' is only available on macOS 13.0 or newer [-Werror,-Wunguarded-availability-new]

Categories

(Core :: WebRTC, defect, P2)

defect

Tracking

()

RESOLVED FIXED
115 Branch
Tracking Status
firefox115 --- fixed

People

(Reporter: glandium, Assigned: pehrsons)

Details

Attachments

(1 file)

When building with MacOSX13.3.sdk, the build fails with:

 0:03.24 In file included from Unified_mm_ktop_capture_objc_gn0.mm:38:
 0:03.24 /tmp/gecko/third_party/libwebrtc/modules/desktop_capture/mac/screen_capturer_mac.mm:465:11: error: 'CGDisplayStreamUpdateGetRects' is only available on macOS 13.0 or newer [-Werror,-Wunguarded-availability-new]
 0:03.24           CGDisplayStreamUpdateGetRects(updateRef, kCGDisplayStreamUpdateDirtyRects, &count);
 0:03.24           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 0:03.24 /home/glandium/.mozbuild/MacOSX13.3.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGDisplayStream.h:106:37: note: 'CGDisplayStreamUpdateGetRects' has been marked as being introduced in macOS 13.0 here, but the deployment target is macOS 10.12.0
 0:03.24 CG_EXTERN const CGRect * __nullable CGDisplayStreamUpdateGetRects(CGDisplayStreamUpdateRef __nullable updateRef,
 0:03.24                                     ^
 0:03.24 /tmp/gecko/third_party/libwebrtc/modules/desktop_capture/mac/screen_capturer_mac.mm:465:11: note: enclose 'CGDisplayStreamUpdateGetRects' in an @available check to silence this warning
 0:03.24           CGDisplayStreamUpdateGetRects(updateRef, kCGDisplayStreamUpdateDirtyRects, &count);
 0:03.24           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 0:03.24 /tmp/gecko/third_party/libwebrtc/modules/desktop_capture/mac/screen_capturer_mac.mm:475:45: error: 'kCGDisplayStreamShowCursor' is only available on macOS 13.0 or newer [-Werror,-Wunguarded-availability-new]
 0:03.24                            (const void* []){kCGDisplayStreamShowCursor},
 0:03.24                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~
 0:03.24 /home/glandium/.mozbuild/MacOSX13.3.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGDisplayStream.h:195:30: note: 'kCGDisplayStreamShowCursor' has been marked as being introduced in macOS 13.0 here, but the deployment target is macOS 10.12.0
 0:03.24 CG_EXTERN const CFStringRef  kCGDisplayStreamShowCursor CG_AVAILABLE_BUT_DEPRECATED(13.0, 14.0, "Please use ScreenCaptureKit API's SCStreamConfiguration showsCursor property instead");  /* CFBoolean - defaults to false */
 0:03.24                              ^
 0:03.24 /tmp/gecko/third_party/libwebrtc/modules/desktop_capture/mac/screen_capturer_mac.mm:475:45: note: enclose 'kCGDisplayStreamShowCursor' in an @available check to silence this warning
 0:03.24                            (const void* []){kCGDisplayStreamShowCursor},
 0:03.24                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~
 0:03.24 /tmp/gecko/third_party/libwebrtc/modules/desktop_capture/mac/screen_capturer_mac.mm:481:41: error: 'CGDisplayStreamCreate' is only available on macOS 13.0 or newer [-Werror,-Wunguarded-availability-new]
 0:03.24     CGDisplayStreamRef display_stream = CGDisplayStreamCreate(
 0:03.24                                         ^~~~~~~~~~~~~~~~~~~~~
 0:03.24 /home/glandium/.mozbuild/MacOSX13.3.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGDisplayStream.h:243:41: note: 'CGDisplayStreamCreate' has been marked as being introduced in macOS 13.0 here, but the deployment target is macOS 10.12.0
 0:03.24 CG_EXTERN CGDisplayStreamRef __nullable CGDisplayStreamCreate(CGDirectDisplayID display,
 0:03.24                                         ^
 0:03.24 /tmp/gecko/third_party/libwebrtc/modules/desktop_capture/mac/screen_capturer_mac.mm:481:41: note: enclose 'CGDisplayStreamCreate' in an @available check to silence this warning
 0:03.24     CGDisplayStreamRef display_stream = CGDisplayStreamCreate(
 0:03.24                                         ^~~~~~~~~~~~~~~~~~~~~
 0:03.25 /tmp/gecko/third_party/libwebrtc/modules/desktop_capture/mac/screen_capturer_mac.mm:485:23: error: 'CGDisplayStreamStart' is only available on macOS 13.0 or newer [-Werror,-Wunguarded-availability-new]
 0:03.25       CGError error = CGDisplayStreamStart(display_stream);
 0:03.25                       ^~~~~~~~~~~~~~~~~~~~
 0:03.25 /home/glandium/.mozbuild/MacOSX13.3.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGDisplayStream.h:273:19: note: 'CGDisplayStreamStart' has been marked as being introduced in macOS 13.0 here, but the deployment target is macOS 10.12.0
 0:03.25 CG_EXTERN CGError CGDisplayStreamStart(CGDisplayStreamRef cg_nullable displayStream)
 0:03.25                   ^
 0:03.25 /tmp/gecko/third_party/libwebrtc/modules/desktop_capture/mac/screen_capturer_mac.mm:485:23: note: enclose 'CGDisplayStreamStart' in an @available check to silence this warning
 0:03.25       CGError error = CGDisplayStreamStart(display_stream);
 0:03.25                       ^~~~~~~~~~~~~~~~~~~~
 0:03.25 /tmp/gecko/third_party/libwebrtc/modules/desktop_capture/mac/screen_capturer_mac.mm:488:35: error: 'CGDisplayStreamGetRunLoopSource' is only available on macOS 13.0 or newer [-Werror,-Wunguarded-availability-new]
 0:03.25       CFRunLoopSourceRef source = CGDisplayStreamGetRunLoopSource(display_stream);
 0:03.25                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(etc.)

There is a bug in the SDK, where they declare those APIs as being only available on macOS 13.0+, while they were marked as available on macOS 10.8+ before, but they also are marked as deprecated in macOS 14.0, so eventually, they will have to be replaced.

Assignee: nobody → apehrson
Severity: -- → S4
Status: NEW → ASSIGNED
Priority: -- → P2

Upstream Commit:
mac: Work around an inccorect availability annotation in the 13.3 SDK

Bug: chromium:1431897
Change-Id: Ib871dc22d2cf93180d7aa05016e34ffec944d73e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/301040
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Auto-Submit: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/main@{#39830}
Pushed by pehrsons@gmail.com: https://hg.mozilla.org/integration/autoland/rev/8443a5cec0ac Cherry-pick upstream libwebrtc commit 0f87b38535. r=webrtc-reviewers,mjf
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 115 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: