56 lines
2.5 KiB
Markdown
56 lines
2.5 KiB
Markdown
# media_kit_libs_windows_video (vendored fork)
|
|
|
|
Fork of `media_kit_libs_windows_video 1.0.11` from pub.dev. Windows-only, wired
|
|
into the main app via `dependency_overrides` in the project `pubspec.yaml`. Not
|
|
published to pub.
|
|
|
|
## Why fork
|
|
|
|
Upstream 1.0.11 downloads the media-kit organisation's 2023-09-24 `mpv-dev`
|
|
archive at build time. Its bundled FFmpeg is compiled with
|
|
`--disable-decoders` plus an explicit allow-list that omits two decoders we
|
|
need:
|
|
|
|
- `truehd` — Dolby TrueHD audio (mpv reports
|
|
`Failed to initialize a decoder for codec 'truehd'`)
|
|
- `hdmv_pgs_subtitle` (`pgssub`) — Blu-ray PGS bitmap subtitles (track can be
|
|
selected via `sid`, but nothing renders on screen)
|
|
|
|
Both symptoms are documented in the upstream tracker
|
|
([media-kit/media-kit#1269](https://github.com/media-kit/media-kit/issues/1269),
|
|
[#1371](https://github.com/media-kit/media-kit/issues/1371)) and both are fixed
|
|
by swapping in a full libmpv build.
|
|
|
|
## What changed vs. upstream 1.0.11
|
|
|
|
Only three variables in `windows/CMakeLists.txt` — the archive name, download
|
|
URL, and MD5. The download / extract / bundle logic is untouched, and the
|
|
archive layout (`libmpv-2.dll` + `include/mpv/*.h`) matches upstream.
|
|
|
|
| | Upstream 1.0.11 | This fork |
|
|
|---|-----------------|-----------|
|
|
| Source | `media-kit/libmpv-win32-video-build` | `zhongfly/mpv-winbuild` |
|
|
| Tag / date | `2023-09-24` | `2026-07-11-e5486b96d7` |
|
|
| Archive | `mpv-dev-x86_64-20230924-git-652a1dd.7z` | `mpv-dev-x86_64-20260711-git-e5486b96d7.7z` |
|
|
| Build flavour | Stripped (allow-listed decoders only) | Full (all upstream FFmpeg decoders) |
|
|
| CPU baseline | Generic x86_64 | Generic x86_64 (not `-v3`, so no AVX2 requirement) |
|
|
|
|
The plugin registrar (`MediaKitLibsWindowsVideoPluginCApi`), ANGLE bundle, and
|
|
package name / class name / API are identical to upstream so no other change
|
|
to `media_kit` / `media_kit_video` is required.
|
|
|
|
## Follow-ups (not blocking)
|
|
|
|
- `zhongfly/mpv-winbuild` is a nightly repository. Historical releases can be
|
|
pruned. To keep CI reproducible long-term, mirror the pinned archive to a
|
|
project-owned GitHub Release (same pattern as `mdk-sdk v0.37.0`) and repoint
|
|
`LIBMPV_URL`.
|
|
- Android has the same missing decoders in `media_kit_libs_android_video`.
|
|
Android currently falls back to media3/fvp so this is not urgent; if we
|
|
ever need mpv on Android too, mirror this vendor pattern there.
|
|
|
|
## License
|
|
|
|
Original MIT license retained in [`LICENSE`](./LICENSE). Upstream copyright:
|
|
Hitesh Kumar Saini and contributors.
|