Files
sm-emby-share/plugins/media_kit_libs_windows_video
2026-07-14 11:11:36 +08:00
..
2026-07-14 11:11:36 +08:00
2026-07-14 11:11:36 +08:00
2026-07-14 11:11:36 +08:00
2026-07-14 11:11:36 +08:00
2026-07-14 11:11:36 +08:00

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, #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. Upstream copyright: Hitesh Kumar Saini and contributors.