From: yaydn@protonmail.com Subject: Re: UPDATE: mpv 0.41.0 To: Brad Smith Cc: "ports@openbsd.org" Date: Fri, 27 Feb 2026 06:35:16 +0000 På lørdag 21. februar 2026 kl. 03:30, skrev Brad Smith : > 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 > 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), > >