Skip to content

Conversation

@stuartmorgan-g
Copy link
Collaborator

Marks the CVDisplayLink-based implementation that was previously used on macOS in all cases with deprecation suppressions, and switches macOS 14+ to share the CADisplayLink-based implementation that is currently used for iOS.

Fixes flutter/flutter#171391

Pre-Review Checklist

Footnotes

  1. Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling. 2 3

Marks the CVDisplayLink-based implementation that was previously used on
macOS in all cases with deprecation suppressions, and switches macOS 14+
to share the CADisplayLink-based implementation that is currently used
for iOS.

Fixes flutter/flutter#171391
Copy link
Member

@jmagman jmagman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for jumping on this.

@end

// An implementation of FVPDisplayLink using CADisplayLink.
@interface FVPCADisplayLink : NSObject <FVPDisplayLink>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: It's hard to see the difference between FVPCADisplayLink and FVPCVDisplayLink. Could we name it FVPCoreAnimationDisplayLink? That seems outrageously long. If not, what you have is fine.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I renamed FVPCVDisplayLink to FVPCoreVideoDisplayLink so that they are visually distinct, but it's the legacy one that's really long.

@interface FVPDisplayLink ()
@interface FVPCADisplayLink ()
// The underlying display link implementation.
@property(nonatomic) CADisplayLink *displayLink;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

    - NOTE  | [OSX] xcodebuild:  /Volumes/Work/s/w/ir/x/w/packages/packages/video_player/video_player_avfoundation/darwin/video_player_avfoundation/Sources/video_player_avfoundation/FVPCADisplayLink.m:19:1: note: annotate 'onDisplayLink:' with an availability attribute to silence this warning
    - WARN  | [OSX] xcodebuild:  /Volumes/Work/s/w/ir/x/w/packages/packages/video_player/video_player_avfoundation/darwin/video_player_avfoundation/Sources/video_player_avfoundation/FVPCADisplayLink.m:31:24: warning: 'CADisplayLink' is only available on macOS 14.0 or newer [-Wunguarded-availability-new]
    - NOTE  | [OSX] xcodebuild:  /Volumes/Work/s/w/ir/x/w/packages/packages/video_player/video_player_avfoundation/darwin/video_player_avfoundation/Sources/video_player_avfoundation/FVPCADisplayLink.m:31:1: note: annotate 'onDisplayLink:' with an availability attribute to silence this warning
    - WARN  | [OSX] xcodebuild:  /Volumes/Work/s/w/ir/x/w/packages/packages/video_player/video_player_avfoundation/darwin/video_player_avfoundation/Sources/video_player_avfoundation/FVPCADisplayLink.m:40:22: warning: 'CADisplayLink' is only available on macOS 14.0 or newer [-Wunguarded-availability-new]
    - NOTE  | [OSX] xcodebuild:  /Volumes/Work/s/w/ir/x/w/packages/packages/video_player/video_player_avfoundation/darwin/video_player_avfoundation/Sources/video_player_avfoundation/FVPCADisplayLink.m:38:12: note: annotate '' with an availability attribute to silence this warning

https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8710603919552585809/+/u/Run_package_tests/validate_iOS_and_macOS_podspecs/stdout

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oops, I meant to go back and figure out annotations once I had everything working.

@stuartmorgan-g stuartmorgan-g added the autosubmit Merge PR when tree becomes green via auto submit App label Jul 1, 2025
@auto-submit auto-submit bot merged commit 3dc682d into flutter:main Jul 1, 2025
78 checks passed
@stuartmorgan-g stuartmorgan-g deleted the video-player-macos-displaylink branch July 1, 2025 13:36
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jul 1, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jul 1, 2025
github-merge-queue bot pushed a commit to flutter/flutter that referenced this pull request Jul 1, 2025
flutter/packages@471bfd3...3dc682d

2025-07-01 [email protected] [video_player] Use CADisplayLink on
macOS 14.0+ (flutter/packages#9533)
2025-06-30 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump exoplayer_version from 1.4.1 to 1.5.1 in
/packages/video_player/video_player_android/android
(flutter/packages#8414)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC [email protected] on the revert to ensure that a
human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
mboetger pushed a commit to mboetger/flutter that referenced this pull request Jul 21, 2025
…r#171458)

flutter/packages@471bfd3...3dc682d

2025-07-01 [email protected] [video_player] Use CADisplayLink on
macOS 14.0+ (flutter/packages#9533)
2025-06-30 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump exoplayer_version from 1.4.1 to 1.5.1 in
/packages/video_player/video_player_android/android
(flutter/packages#8414)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC [email protected] on the revert to ensure that a
human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
vashworth pushed a commit to vashworth/packages that referenced this pull request Jul 30, 2025
Marks the CVDisplayLink-based implementation that was previously used on macOS in all cases with deprecation suppressions, and switches macOS 14+ to share the CADisplayLink-based implementation that is currently used for iOS.

Fixes flutter/flutter#171391

## Pre-Review Checklist

[^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
lucaantonelli pushed a commit to lucaantonelli/flutter that referenced this pull request Nov 21, 2025
…r#171458)

flutter/packages@471bfd3...3dc682d

2025-07-01 [email protected] [video_player] Use CADisplayLink on
macOS 14.0+ (flutter/packages#9533)
2025-06-30 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump exoplayer_version from 1.4.1 to 1.5.1 in
/packages/video_player/video_player_android/android
(flutter/packages#8414)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC [email protected] on the revert to ensure that a
human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmit Merge PR when tree becomes green via auto submit App p: video_player platform-ios platform-macos

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[video_player_avfoundation] CoreVideo deprecation warnings targeting macOS 15

2 participants