På lørdag 21. februar 2026 kl. 03:30, skrev Brad Smith
<[email protected]>:

> Here is an update to mpv 0.41.0.
> 
> 

Built/tested on current/amd64:

Been using a prior diff for two-ish months and this patch for almost a
week. No issues while I ran this multiple times a day.

Built and runs fine in niri/xwayland-satellite and sway/xwayland.

Had this in sway ~/.config/sway/config:

# Label XWayland windows to check for native wayland support (dev)
for_window [shell="xwayland"] title_format "[XWayland] %title"

--

to try various outputs shown in 'mpv --vo=help' and see what is in
use.

Also recompiled:

multimedia/mpvqt
x11/kde-applications/kalarm
x11/kde-applications/plasmatube
x11/smplayer

Which all compiled fine too and from very light testing seem to have no
regressions from the mpv currently in ports.

Hope this helps! Thank you all as I use this a lot and seems it could
make it before the freeze. May you all have a good one and happy
porting.

--
yaydn


> Release 0.41.0
> ==============
> 
> We are excited to announce the release of mpv 0.41.0.
> 
> Key highlights:
> 
> * The libplacebo based `gpu-next` is now the default, over `gpu`
> * Vulkan hardware decoding is preferred over other APIs
> * New context_menu.lua script for right-click context menus
> * AAudio backend for modern, HNI-free audio output on Android
> * Improved default color management for gpu-next, and handling on Wayland
> * Color representation protocol support for Wayland
> * Tablet input support for Wayland
> * Clipboard writing support for Wayland and a clipboard backend for X11
> * Ambient light support on Linux (using sysfs ALS)
> * Built-in helpers to register mpv as a media app on Windows
> 
> # Features
> 
> ## New
> 
> - clipboard-wayland: support clipboard writing
> - wayland: add support for wp-color-representation-v1
> - wayland: tablet input support
> - vo_gpu_next: add support for blend-subtitles=video
> - meson: add mpv-register and mpv-unregister helpers on Windows
> - context_menu.lua: add this script
> - select.lua: add edit-config-file and edit-input-conf
> - osc.lua: add indicator for buffering/loading
> - osdep/linux-als: support 'ambient-light' property on Linux
> - clipboard-x11: add x11 clipboard backend
> - ao/aaudio: implement native AAudio backend for Android
> 
> ## Changed
> 
> - vd_lavc: prefer Vulkan hwdec when available
> - vd_lavc: prefer non-copy hwdec before falling back to -copy variant
> - vo: move vo_mediacodec_embed to not be the default on Android
> - sub/osd_libass: don't rerender OSD if not changed
> - vo: prefer vo_gpu_next over vo_gpu by default
> - vo_gpu_next: respect ICC profile color space over any metadata
> - vo_gpu_next: linearize sRGB as a pure 2.2 power function
> - meson: warn if building with SDL2 due to known problems
> - osxbundle: make bundle category configurable and default to video
> - ao_pipewire: avoid setting any media.role by default
> 
> 
> # Options and Commands
> 
> ## Added
> 
> - sub: add control for libass caching options (glyph-limit, bitmap-max-size)
> - vo: add options to control background tile appearance (transparency)
> - command: add default and forced flags to the track add commands
> - vo_gpu_next: add options to control subtitle peak for HDR output
> - video/out/d3d11: add d3d11 composition mode support
> - vd_lavc: add --hwdec-threads
> - stream_bluray: add --bluray-angle
> - vo_gpu_next: add options to control output colorspace metadata more 
> precisely
> - sub: make --sub-fix-timing configurable
> - vo_gpu_next: add --hdr-reference-white
> - audio/out: add --audio-set-media-role
> 
> ## Changed
> 
> - options: revert --prefetch-playlist default back to 'no'
> - vo_gpu_next: change --target-colorspace-hint to 'auto' by default
> - options: handle runtime --wid change
> - options: reduce swapchain-depth to 2 by default
> - screenshot: add osd and scaled flags to screenshot commands
> 
> 
> # Fixes and Minor Enhancements
> 
> - vo_kitty: add auto-multiplexer-passthrough option
> - vd_lavc: enable FFv1 hwaccel by default
> - clipboard-wayland: prevent reading from hung up fd
> - demux_mkv: fix compilation after deprecated definitions removal
> - filters: handle flipping video if displaymatrix indicates so
> - player/scripting: fix race condition when destroying clients
> - {osd,msg}: use PU codepoints for escape codes instead of invalid UTF-8
> - vo_dmabuf_wayland: only load needed hardware decoding drivers
> - video/image_writer: tag accurate bit depth
> - demux_lavf: fix unconstrained cache size with wrapped AVFrame packets
> - libarchive: fix reading name of certain UTF-8 files
> - sub/sd_lavc: fix decoding with libaribb24
> - ao_avfoundation: fix memory leak
> - osc.lua: fix volume icon not updating while paused
> - context_wayland: implement target_csp for wayland
> - vo_gpu: fix target colorspace for redrawn frames
> - vo_dmabuf_wayland: don't set HDR metadata on SDR transfers
> - vo_gpu_next: don't do partial updates on hint luminance
> - sub/ass_mp: add missing padding for ass packer
> - stream_dvb: allow to enforce DVB-S/T for old zap format channels.conf
> - demux_libarchive: fix reading archives with '%' in stream URL path
> - vo_gpu_next: allow UINT upload if no other format is supported
> - ytdl_hook.lua: fix incorrect default format used with yt-dlp
> - vo_gpu_next: allow unsetting LUTs
> - stream_bluray: use bd_get_main_title() to get main title
> - vo_gpu_next: when tone-mapping, set better maxCLL value
> - stream_libarchive: seek source stream to 0 before probing
> - path-unix: support ~~desktop path expansion
> - ytdl_hook.lua: don't crash if playlist entries don't have an usable URL
> - mac/vulkan: fix frame not displayed when paused
> - mac/common: render first frame on init if possible
> - video/out/w32_common: support --wid=0
> - demux_mkv: map and expose hearing/visual impaired flags
> - player/misc: show percentage progress for --stream-dump
> - command: fix null dereference for invalid command in input-commands
> - cplugin: fix missing init of pfn_mpv_get_time_ns
> - vo_dmabuf_wayland: actually reuse OSD buffers
> - mp_image: add support for AVAlphaMode
> - vo_gpu_next: add --border-background=blur and --background-blur-radius
> - demux/cue: fix crash when there are no tracks
> - vf_format: add some basic HDR10 metadata
> - vo/context_android: fix surface tearing on resize
> - meson: remove redundant 'sdl2' option
> - mac/common: fix window position on multi monitor setups
> - vo_gpu_next: limit min_luma to 1000:1 contrast ratio in SDR mode
> - ao_pipewire: fix some incorrect channel mappings
> - wayland: correct geometry handling for rotated outputs
> - demux: clear packet pool when upper memory limit is lowered
> - mp_image: add ycgco-{re,ro} support
> - wayland: convert luminance values to libplacebo space
> - vo: trigger manual redraws at most at slightly over display fps
> - osxbundle: add new macOS 26 compatible App icon
> - wayland: support color-management-v1 version 2
> 
> 
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/multimedia/mpv/Makefile,v
> retrieving revision 1.108
> diff -u -p -u -p -r1.108 Makefile
> --- Makefile  26 Mar 2025 22:17:11 -0000      1.108
> +++ Makefile  21 Feb 2026 01:53:21 -0000
> @@ -2,7 +2,7 @@ COMMENT =             movie player based on MPlayer
> 
>  GH_ACCOUNT =         mpv-player
>  GH_PROJECT =         mpv
> -GH_TAGNAME =         v0.40.0
> +GH_TAGNAME =         v0.41.0
>  USE_NOBTCFI =                Yes
> 
>  SHARED_LIBS +=               mpv             2.0
> @@ -14,8 +14,8 @@ HOMEPAGE =          https://mpv.io/
>  # GPLv2+
>  PERMIT_PACKAGE =     Yes
> 
> -WANTLIB += ${MODLUA_WANTLIB} EGL SDL2 X11 X11-xcb Xext Xpresent Xrandr
> -WANTLIB += Xss Xv archive ass avcodec avdevice avfilter avformat
> +WANTLIB += ${MODLUA_WANTLIB} EGL X11 X11-xcb Xext Xfixes Xpresent
> +WANTLIB += Xrandr Xss Xv archive ass avcodec avdevice avfilter avformat
>  WANTLIB += avutil bluray c cdio cdio_cdda cdio_paranoia display-info
>  WANTLIB += drm dvdnav iconv jpeg lcms2 m placebo pthread sndio
>  WANTLIB += swresample swscale va va-drm va-x11 vulkan xcb xcb-shm z
> @@ -37,7 +37,6 @@ LIB_DEPENDS =               archivers/libarchive \
>                       audio/libcdio \
>                       audio/libcdio-paranoia \
>                       converters/libiconv \
> -                     devel/sdl2 \
>                       graphics/ffmpeg \
>                       graphics/jpeg \
>                       graphics/lcms2 \
> @@ -55,8 +54,10 @@ RUN_DEPENDS =              devel/desktop-file-utils
>                       www/yt-dlp \
>                       x11/gtk+4,-guic
> 
> -CONFIGURE_ARGS =     -Dalsa=disabled \
> +CONFIGURE_ARGS =     -Daaudio=disabled \
> +                     -Dalsa=disabled \
>                       -Dandroid-media-ndk=disabled \
> +                     -Daudiotrack=disabled \
>                       -Daudiounit=disabled \
>                       -Davfoundation=disabled \
>                       -Dcaca=disabled \
> @@ -98,8 +99,6 @@ CONFIGURE_ARGS =    -Dalsa=disabled \
>                       -Dpipewire=disabled \
>                       -Dpulse=disabled \
>                       -Drubberband=disabled \
> -                     -Dsdl2-audio=disabled \
> -                     -Dsdl2=enabled \
>                       -Dshaderc=disabled \
>                       -Dsixel=disabled \
>                       -Dspirv-cross=disabled \
> @@ -130,7 +129,6 @@ post-install:
>       ${INSTALL_DATA} ${WRKDIST}/TOOLS/mpv_identify.sh \
>               ${WRKDIST}/TOOLS/umpv ${PREFIX}/share/examples/mpv
>       ${MODPY_BIN_ADJ} ${PREFIX}/share/examples/mpv/umpv
> -     mv -f ${WRKINST}${SYSCONFDIR}/mpv/* ${PREFIX}/share/examples/mpv
>       sed -Ei 's,(/dev/dvd|/dev/cdrom),/dev/rcd0c,g' ${PREFIX}/man/man1/mpv.1
> 
>  .include <bsd.port.mk>
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/multimedia/mpv/distinfo,v
> retrieving revision 1.38
> diff -u -p -u -p -r1.38 distinfo
> --- distinfo  26 Mar 2025 22:17:11 -0000      1.38
> +++ distinfo  21 Feb 2026 01:53:21 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (mpv-0.40.0.tar.gz) = EKD0ZU9iFApt1NOA3PC729z25pdVaGPcSZwpYYLwgaM=
> -SIZE (mpv-0.40.0.tar.gz) = 3561474
> +SHA256 (mpv-0.41.0.tar.gz) = 7iEJKl7kJzUzkjYJKdxkZFxUR5rv21urxc+7X61iYgk=
> +SIZE (mpv-0.41.0.tar.gz) = 7262018
> Index: patches/patch-demux_demux_mkv_c
> ===================================================================
> RCS file: patches/patch-demux_demux_mkv_c
> diff -N patches/patch-demux_demux_mkv_c
> --- patches/patch-demux_demux_mkv_c   21 Oct 2025 13:04:43 -0000      1.1
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,23 +0,0 @@
> -Index: demux/demux_mkv.c
> ---- demux/demux_mkv.c.orig
> -+++ demux/demux_mkv.c
> -@@ -2200,16 +2200,16 @@ static int demux_mkv_open_sub(demuxer_t *demuxer, 
> mkv_
> -             // [0x30..0x37] are component tags utilized for
> -             // non-mobile captioning service ("profile A").
> -             if (component_tag >= 0x30 && component_tag <= 0x37)
> --                lav->profile = FF_PROFILE_ARIB_PROFILE_A;
> -+                lav->profile = AV_PROFILE_ARIB_PROFILE_A;
> -             break;
> -         case 0x0012:
> -             // component tag 0x87 signifies a mobile/partial reception
> -             // (1seg) captioning service ("profile C").
> -             if (component_tag == 0x87)
> --                lav->profile = FF_PROFILE_ARIB_PROFILE_C;
> -+                lav->profile = AV_PROFILE_ARIB_PROFILE_C;
> -             break;
> -         }
> --        if (lav->profile == FF_PROFILE_UNKNOWN)
> -+        if (lav->profile == AV_PROFILE_UNKNOWN)
> -             MP_WARN(demuxer, "ARIB caption profile %02x / %04x not 
> supported.\n",
> -                     component_tag, data_component_id);
> -     }
> Index: patches/patch-meson_build
> ===================================================================
> RCS file: /cvs/ports/multimedia/mpv/patches/patch-meson_build,v
> retrieving revision 1.12
> diff -u -p -u -p -r1.12 patch-meson_build
> --- patches/patch-meson_build 26 Mar 2025 22:17:15 -0000      1.12
> +++ patches/patch-meson_build 21 Feb 2026 01:53:21 -0000
> @@ -5,7 +5,7 @@ Support for xcb-shm
>  Index: meson.build
>  --- meson.build.orig
>  +++ meson.build
> -@@ -358,7 +358,19 @@ if features['libdl']
> +@@ -356,7 +356,19 @@ if features['libdl']
>   endif
> 
>   # C11 atomics are mandatory but linking to the library is not always 
> required.
> @@ -26,7 +26,7 @@ Index: meson.build
> 
>   cplugins = get_option('cplugins').require(
>       win32 or (features['libdl'] and cc.has_link_argument('-rdynamic')),
> -@@ -1070,7 +1082,10 @@ x11 = {
> +@@ -1089,7 +1101,10 @@ x11 = {
>                dependency('xscrnsaver', version: '>= 1.0.0', required: 
> x11_opt),
>                dependency('xext', version: '>= 1.0.0', required: x11_opt),
>                dependency('xpresent', version: '>= 1.0.0', required: x11_opt),
> 
>

Reply via email to