Skip to content

fix: missing setProperty stub#1

Open
TheOneWithTheBraid wants to merge 1 commit into
Predidit:mainfrom
TheOneWithTheBraid:braid/predidit-stub-template
Open

fix: missing setProperty stub#1
TheOneWithTheBraid wants to merge 1 commit into
Predidit:mainfrom
TheOneWithTheBraid:braid/predidit-stub-template

Conversation

@TheOneWithTheBraid
Copy link
Copy Markdown

This harmonizes the signature of the stub.dart and real.dart of both NativePlayer and WebPlayer as best practice for all its public members potentially used by third party packages (in my case just_audio_media_kit bindings) or directly by application developers.

I see no potential regressions in it.

Fixes: #886

Signed-off-by: The one with the braid <info@braid.business>
Predidit pushed a commit that referenced this pull request May 12, 2026
Predidit pushed a commit that referenced this pull request May 23, 2026
…libmpv-darwin-build 0.6.7 (#31)

* Add SPM to media_kit_video

* New xcframework (#1)

* Update package.swift and checksums

* feat: add Mpv library product to iOS and macOS audio SPM packages

* chore: restore original minimum OS deployment targets

Revert the deployment target bumps (macOS 10.15→10.9, iOS 13.0→9.0).
The lower values match the actual targets encoded in the xcframework
binaries from media-kit/libmpv-darwin-build and should be preferred.

* chore: restore original Flutter/Dart SDK constraints

The minimum Flutter version was bumped to 3.27.4 to support Swift Package
Manager, but CocoaPods is still supported. There is no reason to force
developers onto a recent Flutter version until SPM becomes the only
supported option.

* feat: make native libs dependency optional in SPM manifests

Previously, the SPM manifests for iOS and macOS unconditionally declared
`media_kit_libs_{ios,macos}_video` as a required dependency, causing the
build to fail if the package was not included in the developer's
`pubspec.yaml`.

The dependency is now resolved dynamically at manifest evaluation time by
checking whether the sibling package directory exists in the SPM ephemeral
packages directory. If found, `media_kit_video` is linked against it as
before; otherwise it falls back to a stub implementation, mirroring the
existing CocoaPods behavior in `media_kit_utils.rb`.

Note: after adding or removing the libs package from `pubspec.yaml`,
the SPM cache must be cleared manually:

    rm -rf ~/Library/Caches/org.swift.swiftpm/

* fix(spm): point libmpv binary URLs to Predidit/libmpv-darwin-build 0.6.7

The 7 cherry-picked SPM commits from upstream (b505adf..672ac77) reference
upstream media-kit/libmpv-darwin-build v0.7.0 binaries, which are vanilla
libmpv without this fork's ad-blocker and other patches.

Switch libmpvArtifactBase + checksums in both libs Package.swift files to
Predidit/libmpv-darwin-build 0.6.7, which is built from this fork's mpv
source (with ad-blocker + ohos + win32 + other fork-specific patches) and
includes the SPM zip + framework module map work merged in
Predidit/libmpv-darwin-build#4.

This preserves all fork customizations when downstream consumers integrate
via Swift Package Manager.

Verified end-to-end with Predidit/Kazumi:
- flutter build macos --release / iOS --release succeeded
- codesign --verify --deep on .app passes
- All 18 SPM-downloaded xcframeworks verify as signed

---------

Co-authored-by: Roman Laptev <carapacik@gmail.com>
Co-authored-by: birros <birros@protonmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[media_kit] stub.dart implementations differ from real.dart signature in NativePlayer and WebPlayer

1 participant