-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[video_player] Add macOS support #4982
Conversation
The podspec check failure is because the Flutter Pod we lint against is one that we manually publish occasionally just for this, and it hasn't been updated since those APIs were added. I'll need to dig up the instructions on updating it. |
This comment was marked as resolved.
This comment was marked as resolved.
6626917
to
f49c4bd
Compare
f49c4bd
to
30b5011
Compare
Tests should all be green now, so this is fully ready. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TPMITIDF,BIDKETFTH.
Seems fine.
packages/video_player/video_player_avfoundation/darwin/Classes/FVPVideoPlayerPlugin.m
Show resolved
Hide resolved
Hm, I thought that script change would fix the check_podspecs failure. It looks like I'll need to find another way to force it to get the right version. |
And now it's fine even without the cache clearing 🤷🏻 Maybe just a general CDN propagation issue. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks reasonable. This is a bit on the border of ifdef
s where it might be worth considering macOS/iOS subclasses for the conditionally compiled logic but it's still a relatively small/innocuous amount overall, so seems fine as is.
flutter/packages@21c2ebb...c070b0a 2023-09-28 stuartmorgan@google.com [video_player] Add macOS support (flutter/packages#4982) 2023-09-28 32538273+ValentinVignal@users.noreply.github.com [go_router] Avoid logging when `debugLogDiagnostics` is `false` (flutter/packages#4875) 2023-09-28 stuartmorgan@google.com [tool] Don't lint Flutter shim podspecs (flutter/packages#5007) 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 flutter-ecosystem@google.com,rmistry@google.com 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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
This comment was marked as resolved.
This comment was marked as resolved.
flutter/packages@21c2ebb...c070b0a 2023-09-28 stuartmorgan@google.com [video_player] Add macOS support (flutter/packages#4982) 2023-09-28 32538273+ValentinVignal@users.noreply.github.com [go_router] Avoid logging when `debugLogDiagnostics` is `false` (flutter/packages#4875) 2023-09-28 stuartmorgan@google.com [tool] Don't lint Flutter shim podspecs (flutter/packages#5007) 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 flutter-ecosystem@google.com,rmistry@google.com 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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Adds macOS support to `video_player`, sharing almost all of the code with iOS. Notes about changes at a high level: - macOS does not have `CADisplayLink` (prior to 14, and even there without all the functionality we need), so this adds macOS compilation branches that use the lower-level `CVDisplayLink` instead. Per the TODO, this code should be extracted later to reduce `ifdef`s in what is already a complicated file. - Adds KVO unregistration on `dealloc` if it wasn't done in `dispose`, since unit tests were crashing on macOS with that. - Temporarily ifdef's out `publish:` for macOS, with a TODO to re-enable it after the next stable. Most of flutter/flutter#41688 Once this lands, the app-facing package will be updated to endorse it for macOS.
Adds macOS support to
video_player
, sharing almost all of the code with iOS.Notes about changes at a high level:
CADisplayLink
(prior to 14, and even there without all the functionality we need), so this adds macOS compilation branches that use the lower-levelCVDisplayLink
instead. Per the TODO, this code should be extracted later to reduceifdef
s in what is already a complicated file.dealloc
if it wasn't done indispose
, since unit tests were crashing on macOS with that.publish:
for macOS, with a TODO to re-enable it after the next stable.Most of flutter/flutter#41688
Once this lands, the app-facing package will be updated to endorse it for macOS.
Pre-launch Checklist
dart format
.)[shared_preferences]
pubspec.yaml
with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.CHANGELOG.md
to add a description of the change, following repository CHANGELOG style.///
).