[bug#78384,v2,2/2] gnu: mpv: Update to 0.40.0.

Message ID 1e4a8d11ddb96570f52cb7fb34a6ea56d78c09c6.1747162572.git.~@wolfsden.cz
State New
Headers
Series [bug#78384,v2,1/2] gnu: python-mpv: Update to 1.0.8. |

Commit Message

Tomas Volf May 13, 2025, 6:56 p.m. UTC
  * gnu/packages/video.scm (mpv): Update to 0.40.0.
* gnu/home/services/mpv.scm (audio-backward-batch, clipboard-backends)
(clipboard-monitor?, demuxer-mkv-crop-compat?, hwdec-software-fallback)
(input-ime?, load-commands?, load-console?, load-positioning?)
(osd-bar-marker-min-size, osd-bar-marker-scale, osd-bar-marker-style)
(osd-selected-color, osd-selected-outline-color, playlist-exts)
(save-watch-history?, sub-ass-prune-delay, sub-ass-scale-with-window?)
(sub-hinting, sub-line-spacing, sub-scale-signs?, sub-shaper, video-recenter?)
(watch-history-path, wayland-internal-vsync): New options.
(cache-pause-wait, video-aspect-override): Change range.
(dvbin-timeout, media-controls, target-colorspace-hint): Change type.
(video-aspect-method): Add enumeration member.
(drm-connector, drm-device, drm-draw-plane, drm-draw-surface-size)
(drm-drmprime-video-plane, drm-format, drm-mode, drm-vrr-enabled)
(load-osd-console?, sub-ass-hinting, sub-ass-line-spacing)
(sub-ass-scale-with-window?, sub-ass-shaper)
(vd-lavc-software-fallback): Removed options.
* doc/guix.texi: Update the list of fields.

Change-Id: I3c9e8d29cc3d435e37333e36822fd190bc25507e
---
 doc/guix.texi             | 193 +++++++++++++++++++-------------------
 gnu/home/services/mpv.scm | 133 ++++++++++++++------------
 gnu/packages/video.scm    |   4 +-
 3 files changed, 174 insertions(+), 156 deletions(-)
  

Patch

diff --git a/doc/guix.texi b/doc/guix.texi
index 34092a2f73..558e47c322 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -50906,7 +50906,7 @@  mpv Media Player
 @code{ao-null-buffer}, @code{ao-null-channel-layouts},
 @code{ao-null-format}, @code{ao-null-latency}, @code{ao-null-outburst},
 @code{ao-null-speed}, @code{ao-null-untimed?}, @code{ao-pcm-append?},
-@code{ao-pcm-file}, @code{ao-pcm-waveheader?},
+@code{ao-pcm-file}, @code{ao-pcm-waveheader?}, @code{archive-exts},
 @code{audio-backward-batch}, @code{audio-backward-overlap},
 @code{audio-buffer}, @code{audio-channels}, @code{audio-client-name},
 @code{audio-delay}, @code{audio-demuxer}, @code{audio-device},
@@ -50931,18 +50931,19 @@  mpv Media Player
 @code{cdda-sector-size}, @code{cdda-skip?}, @code{cdda-span-a},
 @code{cdda-span-b}, @code{cdda-speed}, @code{cdda-toc-offset},
 @code{chapter-merge-threshold}, @code{chapter-seek-threshold},
-@code{chapters-file}, @code{config?}, @code{container-fps-override},
-@code{contrast}, @code{cookies?}, @code{cookies-file},
-@code{corner-rounding}, @code{correct-downscaling?},
-@code{correct-pts?}, @code{cover-art-auto}, @code{cover-art-files},
-@code{cover-art-whitelist}, @code{cscale}, @code{cscale-antiring},
-@code{cscale-blur}, @code{cscale-clamp}, @code{cscale-param1},
-@code{cscale-param2}, @code{cscale-radius}, @code{cscale-taper},
-@code{cscale-window}, @code{cscale-wparam}, @code{cscale-wtaper},
-@code{cursor-autohide}, @code{cursor-autohide-fs-only?}, @code{deband?},
-@code{deband-grain}, @code{deband-iterations}, @code{deband-range},
-@code{deband-threshold}, @code{deinterlace},
-@code{deinterlace-field-parity}, @code{demuxer},
+@code{chapters-file}, @code{clipboard-backends},
+@code{clipboard-monitor?}, @code{config?},
+@code{container-fps-override}, @code{contrast}, @code{cookies?},
+@code{cookies-file}, @code{corner-rounding},
+@code{correct-downscaling?}, @code{correct-pts?}, @code{cover-art-auto},
+@code{cover-art-files}, @code{cover-art-whitelist}, @code{cscale},
+@code{cscale-antiring}, @code{cscale-blur}, @code{cscale-clamp},
+@code{cscale-param1}, @code{cscale-param2}, @code{cscale-radius},
+@code{cscale-taper}, @code{cscale-window}, @code{cscale-wparam},
+@code{cscale-wtaper}, @code{cursor-autohide},
+@code{cursor-autohide-fs-only?}, @code{deband?}, @code{deband-grain},
+@code{deband-iterations}, @code{deband-range}, @code{deband-threshold},
+@code{deinterlace}, @code{deinterlace-field-parity}, @code{demuxer},
 @code{demuxer-backward-playback-step}, @code{demuxer-cache-dir},
 @code{demuxer-cache-unlink-files}, @code{demuxer-cache-wait?},
 @code{demuxer-donate-buffer?}, @code{demuxer-hysteresis-secs},
@@ -50953,7 +50954,7 @@  mpv Media Player
 @code{demuxer-lavf-probe-info}, @code{demuxer-lavf-probescore},
 @code{demuxer-lavf-probesize}, @code{demuxer-lavf-propagate-opts?},
 @code{demuxer-max-back-bytes}, @code{demuxer-max-bytes},
-@code{demuxer-mkv-probe-start-time?},
+@code{demuxer-mkv-crop-compat?}, @code{demuxer-mkv-probe-start-time?},
 @code{demuxer-mkv-probe-video-duration},
 @code{demuxer-mkv-subtitle-preroll},
 @code{demuxer-mkv-subtitle-preroll-secs},
@@ -50968,9 +50969,6 @@  mpv Media Player
 @code{directory-filter-types}, @code{directory-mode},
 @code{display-fps-override}, @code{display-tags}, @code{dither},
 @code{dither-depth}, @code{dither-size-fruit}, @code{drag-and-drop},
-@code{drm-connector}, @code{drm-device}, @code{drm-draw-plane},
-@code{drm-draw-surface-size}, @code{drm-drmprime-video-plane},
-@code{drm-format}, @code{drm-mode}, @code{drm-vrr-enabled},
 @code{dscale}, @code{dscale-antiring}, @code{dscale-blur},
 @code{dscale-clamp}, @code{dscale-param1}, @code{dscale-param2},
 @code{dscale-radius}, @code{dscale-taper}, @code{dscale-window},
@@ -50999,10 +50997,11 @@  mpv Media Player
 @code{hr-seek-demuxer-offset}, @code{hr-seek-framedrop?},
 @code{http-header-fields}, @code{http-proxy}, @code{hue}, @code{hwdec},
 @code{hwdec-codecs}, @code{hwdec-extra-frames},
-@code{hwdec-image-format}, @code{icc-3dlut-size}, @code{icc-cache?},
-@code{icc-cache-dir}, @code{icc-force-contrast}, @code{icc-intent},
-@code{icc-profile}, @code{icc-profile-auto?}, @code{icc-use-luma?},
-@code{idle}, @code{ignore-path-in-watch-later-config?},
+@code{hwdec-image-format}, @code{hwdec-software-fallback},
+@code{icc-3dlut-size}, @code{icc-cache?}, @code{icc-cache-dir},
+@code{icc-force-contrast}, @code{icc-intent}, @code{icc-profile},
+@code{icc-profile-auto?}, @code{icc-use-luma?}, @code{idle},
+@code{ignore-path-in-watch-later-config?},
 @code{image-display-duration}, @code{image-exts}, @code{image-lut},
 @code{image-lut-type}, @code{image-subs-video-resolution?},
 @code{include}, @code{index}, @code{initial-audio-sync?},
@@ -51011,7 +51010,7 @@  mpv Media Player
 @code{input-commands}, @code{input-conf}, @code{input-cursor?},
 @code{input-cursor-passthrough?}, @code{input-default-bindings?},
 @code{input-doubleclick-time}, @code{input-dragging-deadzone},
-@code{input-ipc-client}, @code{input-ipc-server},
+@code{input-ime?}, @code{input-ipc-client}, @code{input-ipc-server},
 @code{input-key-fifo-size}, @code{input-media-keys?},
 @code{input-preprocess-wheel?}, @code{input-right-alt-gr?},
 @code{input-terminal?}, @code{input-test?},
@@ -51023,42 +51022,45 @@  mpv Media Player
 @code{keep-open-pause?}, @code{keepaspect?}, @code{keepaspect-window?},
 @code{lavfi-complex}, @code{length}, @code{libplacebo-opts},
 @code{linear-downscaling?}, @code{linear-upscaling?},
-@code{load-auto-profiles}, @code{load-osd-console?},
-@code{load-scripts?}, @code{load-select?}, @code{load-stats-overlay?},
-@code{load-unsafe-playlists?}, @code{log-file}, @code{loop-file},
-@code{loop-playlist}, @code{lut}, @code{lut-type}, @code{mc},
-@code{media-controls}, @code{merge-files?}, @code{metadata-codepage},
-@code{mf-fps}, @code{mf-type}, @code{monitoraspect},
-@code{monitorpixelaspect}, @code{msg-color?}, @code{msg-level},
-@code{msg-module?}, @code{msg-time?}, @code{mute?}, @code{native-fs?},
-@code{native-keyrepeat?}, @code{native-touch?}, @code{network-timeout},
-@code{oac}, @code{oacopts}, @code{ocopy-metadata?}, @code{of},
-@code{ofopts}, @code{on-all-workspaces?}, @code{ontop?},
-@code{ontop-level}, @code{opengl-check-pattern-a},
-@code{opengl-check-pattern-b}, @code{opengl-early-flush},
-@code{opengl-es}, @code{opengl-glfinish?}, @code{opengl-pbo?},
-@code{opengl-rectangle-textures?}, @code{opengl-swapinterval},
-@code{opengl-waitvsync?}, @code{orawts?}, @code{ordered-chapters?},
-@code{ordered-chapters-files}, @code{oremove-metadata}, @code{osc?},
-@code{osd-align-x}, @code{osd-align-y}, @code{osd-back-color},
-@code{osd-bar?}, @code{osd-bar-align-x}, @code{osd-bar-align-y},
-@code{osd-bar-h}, @code{osd-bar-outline-size}, @code{osd-bar-w},
-@code{osd-blur}, @code{osd-bold?}, @code{osd-border-style},
-@code{osd-color}, @code{osd-duration}, @code{osd-font},
-@code{osd-font-provider}, @code{osd-font-size}, @code{osd-fonts-dir},
-@code{osd-fractions?}, @code{osd-italic?}, @code{osd-justify},
-@code{osd-level}, @code{osd-margin-x}, @code{osd-margin-y},
-@code{osd-msg1}, @code{osd-msg2}, @code{osd-msg3}, @code{osd-on-seek},
-@code{osd-outline-color}, @code{osd-outline-size},
+@code{load-auto-profiles}, @code{load-commands?}, @code{load-console?},
+@code{load-positioning?}, @code{load-scripts?}, @code{load-select?},
+@code{load-stats-overlay?}, @code{load-unsafe-playlists?},
+@code{log-file}, @code{loop-file}, @code{loop-playlist}, @code{lut},
+@code{lut-type}, @code{mc}, @code{media-controls?}, @code{merge-files?},
+@code{metadata-codepage}, @code{mf-fps}, @code{mf-type},
+@code{monitoraspect}, @code{monitorpixelaspect}, @code{msg-color?},
+@code{msg-level}, @code{msg-module?}, @code{msg-time?}, @code{mute?},
+@code{native-fs?}, @code{native-keyrepeat?}, @code{native-touch?},
+@code{network-timeout}, @code{oac}, @code{oacopts},
+@code{ocopy-metadata?}, @code{of}, @code{ofopts},
+@code{on-all-workspaces?}, @code{ontop?}, @code{ontop-level},
+@code{opengl-check-pattern-a}, @code{opengl-check-pattern-b},
+@code{opengl-early-flush}, @code{opengl-es}, @code{opengl-glfinish?},
+@code{opengl-pbo?}, @code{opengl-rectangle-textures?},
+@code{opengl-swapinterval}, @code{opengl-waitvsync?}, @code{orawts?},
+@code{ordered-chapters?}, @code{ordered-chapters-files},
+@code{oremove-metadata}, @code{osc?}, @code{osd-align-x},
+@code{osd-align-y}, @code{osd-back-color}, @code{osd-bar?},
+@code{osd-bar-align-x}, @code{osd-bar-align-y}, @code{osd-bar-h},
+@code{osd-bar-marker-min-size}, @code{osd-bar-marker-scale},
+@code{osd-bar-marker-style}, @code{osd-bar-outline-size},
+@code{osd-bar-w}, @code{osd-blur}, @code{osd-bold?},
+@code{osd-border-style}, @code{osd-color}, @code{osd-duration},
+@code{osd-font}, @code{osd-font-provider}, @code{osd-font-size},
+@code{osd-fonts-dir}, @code{osd-fractions?}, @code{osd-italic?},
+@code{osd-justify}, @code{osd-level}, @code{osd-margin-x},
+@code{osd-margin-y}, @code{osd-msg1}, @code{osd-msg2}, @code{osd-msg3},
+@code{osd-on-seek}, @code{osd-outline-color}, @code{osd-outline-size},
 @code{osd-playing-msg}, @code{osd-playing-msg-duration},
 @code{osd-playlist-entry}, @code{osd-scale},
-@code{osd-scale-by-window?}, @code{osd-shadow-offset},
+@code{osd-scale-by-window?}, @code{osd-selected-color},
+@code{osd-selected-outline-color}, @code{osd-shadow-offset},
 @code{osd-spacing}, @code{osd-status-msg}, @code{oset-metadata},
 @code{ovc}, @code{ovcopts}, @code{panscan}, @code{pause?},
 @code{pipewire-buffer}, @code{pipewire-remote},
 @code{pipewire-volume-mode}, @code{pitch}, @code{play-direction},
-@code{player-operation-mode}, @code{playlist-start},
-@code{prefetch-playlist?}, @code{profile},
+@code{player-operation-mode}, @code{playlist-exts},
+@code{playlist-start}, @code{prefetch-playlist?}, @code{profile},
 @code{pulse-allow-suspended?}, @code{pulse-buffer}, @code{pulse-host},
 @code{pulse-latency-hacks?}, @code{quiet?}, @code{really-quiet?},
 @code{rebase-start-time?}, @code{referrer}, @code{replaygain},
@@ -51066,24 +51068,24 @@  mpv Media Player
 @code{replaygain-preamp}, @code{reset-on-next-file},
 @code{resume-playback?}, @code{resume-playback-check-mtime?},
 @code{rtsp-transport}, @code{saturation}, @code{save-position-on-quit?},
-@code{scale}, @code{scale-antiring}, @code{scale-blur},
-@code{scale-clamp}, @code{scale-param1}, @code{scale-param2},
-@code{scale-radius}, @code{scale-taper}, @code{scale-window},
-@code{scale-wparam}, @code{scale-wtaper}, @code{scaler-resizes-only?},
-@code{screen}, @code{screen-name}, @code{screenshot-avif-encoder},
-@code{screenshot-avif-opts}, @code{screenshot-avif-pixfmt},
-@code{screenshot-directory}, @code{screenshot-format},
-@code{screenshot-high-bit-depth?}, @code{screenshot-jpeg-quality},
-@code{screenshot-jpeg-source-chroma?}, @code{screenshot-jxl-distance},
-@code{screenshot-jxl-effort}, @code{screenshot-png-compression},
-@code{screenshot-png-filter}, @code{screenshot-sw?},
-@code{screenshot-tag-colorspace?}, @code{screenshot-template},
-@code{screenshot-webp-compression}, @code{screenshot-webp-lossless?},
-@code{screenshot-webp-quality}, @code{script-opts}, @code{scripts},
-@code{secondary-sid}, @code{secondary-sub-ass-override},
-@code{secondary-sub-delay}, @code{secondary-sub-pos},
-@code{secondary-sub-visibility?}, @code{sharpen},
-@code{show-in-taskbar?}, @code{shuffle?}, @code{sub},
+@code{save-watch-history?}, @code{scale}, @code{scale-antiring},
+@code{scale-blur}, @code{scale-clamp}, @code{scale-param1},
+@code{scale-param2}, @code{scale-radius}, @code{scale-taper},
+@code{scale-window}, @code{scale-wparam}, @code{scale-wtaper},
+@code{scaler-resizes-only?}, @code{screen}, @code{screen-name},
+@code{screenshot-avif-encoder}, @code{screenshot-avif-opts},
+@code{screenshot-avif-pixfmt}, @code{screenshot-directory},
+@code{screenshot-format}, @code{screenshot-high-bit-depth?},
+@code{screenshot-jpeg-quality}, @code{screenshot-jpeg-source-chroma?},
+@code{screenshot-jxl-distance}, @code{screenshot-jxl-effort},
+@code{screenshot-png-compression}, @code{screenshot-png-filter},
+@code{screenshot-sw?}, @code{screenshot-tag-colorspace?},
+@code{screenshot-template}, @code{screenshot-webp-compression},
+@code{screenshot-webp-lossless?}, @code{screenshot-webp-quality},
+@code{script-opts}, @code{scripts}, @code{secondary-sid},
+@code{secondary-sub-ass-override}, @code{secondary-sub-delay},
+@code{secondary-sub-pos}, @code{secondary-sub-visibility?},
+@code{sharpen}, @code{show-in-taskbar?}, @code{shuffle?}, @code{sub},
 @code{sigmoid-center}, @code{sigmoid-slope}, @code{sigmoid-upscaling?},
 @code{slang}, @code{snap-window?}, @code{speed}, @code{spirv-compiler},
 @code{sstep}, @code{start}, @code{stop-playback-on-init-failure?},
@@ -51091,9 +51093,8 @@  mpv Media Player
 @code{stream-lavf-o}, @code{stream-record}, @code{stretch-dvd-subs?},
 @code{stretch-image-subs-to-screen?}, @code{sub-align-x},
 @code{sub-align-y}, @code{sub-ass?}, @code{sub-ass-force-margins?},
-@code{sub-ass-hinting}, @code{sub-ass-justify?},
-@code{sub-ass-line-spacing}, @code{sub-ass-override},
-@code{sub-ass-scale-with-window?}, @code{sub-ass-shaper},
+@code{sub-ass-justify?}, @code{sub-ass-override},
+@code{sub-ass-prune-delay}, @code{sub-ass-scale-with-window?},
 @code{sub-ass-style-overrides}, @code{sub-ass-styles},
 @code{sub-ass-use-video-data}, @code{sub-ass-video-aspect-override},
 @code{sub-ass-vsfilter-color-compat}, @code{sub-auto},
@@ -51108,12 +51109,13 @@  mpv Media Player
 @code{sub-fix-timing?}, @code{sub-font}, @code{sub-font-provider},
 @code{sub-font-size}, @code{sub-fonts-dir},
 @code{sub-forced-events-only?}, @code{sub-fps}, @code{sub-gauss},
-@code{sub-gray?}, @code{sub-italic?}, @code{sub-justify},
-@code{sub-lavc-o}, @code{sub-margin-x}, @code{sub-margin-y},
-@code{sub-outline-color}, @code{sub-outline-size},
-@code{sub-past-video-end?}, @code{sub-pos}, @code{sub-scale},
-@code{sub-scale-by-window?}, @code{sub-scale-with-window?},
-@code{sub-shadow-offset}, @code{sub-spacing}, @code{sub-speed},
+@code{sub-gray?}, @code{sub-hinting}, @code{sub-italic?},
+@code{sub-justify}, @code{sub-lavc-o}, @code{sub-line-spacing},
+@code{sub-margin-x}, @code{sub-margin-y}, @code{sub-outline-color},
+@code{sub-outline-size}, @code{sub-past-video-end?}, @code{sub-pos},
+@code{sub-scale}, @code{sub-scale-by-window?}, @code{sub-scale-signs?},
+@code{sub-scale-with-window?}, @code{sub-shadow-offset},
+@code{sub-shaper}, @code{sub-spacing}, @code{sub-speed},
 @code{sub-stretch-durations?}, @code{sub-use-margins?},
 @code{sub-visibility?}, @code{sub-vsfilter-bidi-compat?},
 @code{subs-fallback}, @code{subs-fallback-forced},
@@ -51121,7 +51123,7 @@  mpv Media Player
 @code{swapchain-depth}, @code{sws-allow-zimg?}, @code{sws-bitexact?},
 @code{sws-cgb}, @code{sws-chs}, @code{sws-cs}, @code{sws-cvs},
 @code{sws-fast?}, @code{sws-lgb}, @code{sws-ls}, @code{sws-scaler},
-@code{target-colorspace-hint?}, @code{target-contrast},
+@code{target-colorspace-hint}, @code{target-contrast},
 @code{target-gamut}, @code{target-lut}, @code{target-peak},
 @code{target-prim}, @code{target-trc}, @code{taskbar-progress?},
 @code{teletext-page}, @code{temporal-dither?},
@@ -51143,17 +51145,17 @@  mpv Media Player
 @code{vd-lavc-dr}, @code{vd-lavc-fast?}, @code{vd-lavc-film-grain},
 @code{vd-lavc-framedrop}, @code{vd-lavc-o}, @code{vd-lavc-show-all?},
 @code{vd-lavc-skipframe}, @code{vd-lavc-skipidct},
-@code{vd-lavc-skiploopfilter}, @code{vd-lavc-software-fallback},
-@code{vd-lavc-threads}, @code{vd-queue-enable?},
-@code{vd-queue-max-bytes}, @code{vd-queue-max-samples},
-@code{vd-queue-max-secs}, @code{vf}, @code{video}, @code{video-align-x},
-@code{video-align-y}, @code{video-aspect-method},
-@code{video-aspect-override}, @code{video-backward-batch},
-@code{video-backward-overlap}, @code{video-crop}, @code{video-exts},
-@code{video-latency-hacks?}, @code{video-margin-ratio-bottom},
-@code{video-margin-ratio-left}, @code{video-margin-ratio-right},
-@code{video-margin-ratio-top}, @code{video-osd?},
-@code{video-output-levels}, @code{video-pan-x}, @code{video-pan-y},
+@code{vd-lavc-skiploopfilter}, @code{vd-lavc-threads},
+@code{vd-queue-enable?}, @code{vd-queue-max-bytes},
+@code{vd-queue-max-samples}, @code{vd-queue-max-secs}, @code{vf},
+@code{video}, @code{video-align-x}, @code{video-align-y},
+@code{video-aspect-method}, @code{video-aspect-override},
+@code{video-backward-batch}, @code{video-backward-overlap},
+@code{video-crop}, @code{video-exts}, @code{video-latency-hacks?},
+@code{video-margin-ratio-bottom}, @code{video-margin-ratio-left},
+@code{video-margin-ratio-right}, @code{video-margin-ratio-top},
+@code{video-osd?}, @code{video-output-levels}, @code{video-pan-x},
+@code{video-pan-y}, @code{video-recenter?},
 @code{video-reversal-buffer}, @code{video-rotate}, @code{video-scale-x},
 @code{video-scale-y}, @code{video-sync},
 @code{video-sync-max-audio-change}, @code{video-sync-max-factor},
@@ -51191,10 +51193,11 @@  mpv Media Player
 @code{vulkan-device}, @code{vulkan-display-display},
 @code{vulkan-display-mode}, @code{vulkan-display-plane},
 @code{vulkan-queue-count}, @code{vulkan-swap-mode},
-@code{watch-later-directory}, @code{watch-later-options},
-@code{wayland-app-id}, @code{wayland-configure-bounds},
-@code{wayland-content-type}, @code{wayland-disable-vsync?},
-@code{wayland-edge-pixels-pointer}, @code{wayland-edge-pixels-touch},
+@code{watch-history-path}, @code{watch-later-directory},
+@code{watch-later-options}, @code{wayland-app-id},
+@code{wayland-configure-bounds}, @code{wayland-content-type},
+@code{wayland-disable-vsync?}, @code{wayland-edge-pixels-pointer},
+@code{wayland-edge-pixels-touch}, @code{wayland-internal-vsync},
 @code{wayland-present?}, @code{wid}, @code{window-dragging?},
 @code{window-maximized?}, @code{window-minimized?}, @code{window-scale},
 @code{write-filename-in-watch-later-config?},
diff --git a/gnu/home/services/mpv.scm b/gnu/home/services/mpv.scm
index 8d11fa03a3..b6c640a38b 100644
--- a/gnu/home/services/mpv.scm
+++ b/gnu/home/services/mpv.scm
@@ -380,6 +380,7 @@  (define-opt ao-null-untimed? boolean)
 (define-opt ao-pcm-append? boolean)
 (define-opt ao-pcm-file string)
 (define-opt ao-pcm-waveheader? boolean)
+(define-opt archive-exts list-of-string)
 (define-opt
   audio-backward-batch
   integer
@@ -496,7 +497,11 @@  (define-opt
 (define-opt cache-on-disk? boolean)
 (define-opt cache-pause? boolean)
 (define-opt cache-pause-initial? boolean)
-(define-opt cache-pause-wait float (>= val 0))
+(define-opt
+  cache-pause-wait
+  float
+  (>= val 0)
+  (<= val 3.4028234663853e38))
 (define-opt cache-secs double (>= val 0))
 (define-opt cdda-cdtext? boolean)
 (define-opt cdda-device string)
@@ -531,6 +536,10 @@  (define-opt
   (<= val 10000))
 (define-opt chapter-seek-threshold double)
 (define-opt chapters-file string)
+(define-opt
+  clipboard-backends
+  list-of-object-setting)
+(define-opt clipboard-monitor? boolean)
 (define-opt config? boolean)
 (define-opt
   container-fps-override
@@ -737,6 +746,7 @@  (define-opt
   byte-size
   (>= val 0)
   (<= val 4.6116860184274e18))
+(define-opt demuxer-mkv-crop-compat? boolean)
 (define-opt
   demuxer-mkv-probe-start-time?
   boolean)
@@ -858,33 +868,6 @@  (define-opt
   drag-and-drop
   enumeration
   (memq val '(no auto replace append insert-next)))
-(define-opt drm-connector string)
-(define-opt drm-device string)
-(define-opt
-  drm-draw-plane
-  enumeration
-  (or (memq val '(primary overlay))
-      (and (integer? val)
-           (>= val 0)
-           (<= val 2147483647))))
-(define-opt drm-draw-surface-size window-size)
-(define-opt
-  drm-drmprime-video-plane
-  enumeration
-  (or (memq val '(primary overlay))
-      (and (integer? val)
-           (>= val 0)
-           (<= val 2147483647))))
-(define-opt
-  drm-format
-  enumeration
-  (memq val
-        '(xrgb8888 xrgb2101010 xbgr8888 xbgr2101010 yuyv)))
-(define-opt drm-mode string)
-(define-opt
-  drm-vrr-enabled
-  enumeration
-  (memq val '(no yes auto)))
 (define-opt
   dscale
   enumeration
@@ -984,9 +967,9 @@  (define-opt dvbin-full-transponder? boolean)
 (define-opt dvbin-prog string)
 (define-opt
   dvbin-timeout
-  integer
-  (>= val 1)
-  (<= val 30))
+  float
+  (>= val 0)
+  (<= val 3.4028234663853e38))
 (define-opt
   dvd-angle
   integer
@@ -1163,6 +1146,13 @@  (define-opt
   (>= val 0)
   (<= val 256))
 (define-opt hwdec-image-format image-format)
+(define-opt
+  hwdec-software-fallback
+  enumeration
+  (or (memq val '(no yes))
+      (and (integer? val)
+           (>= val 1)
+           (<= val 2147483647))))
 (define-opt icc-3dlut-size string)
 (define-opt icc-cache? boolean)
 (define-opt icc-cache-dir string)
@@ -1214,6 +1204,7 @@  (define-opt
   (>= val 0)
   (<= val 1000))
 (define-opt input-dragging-deadzone integer)
+(define-opt input-ime? boolean)
 (define-opt input-ipc-client string)
 (define-opt input-ipc-server string)
 (define-opt
@@ -1258,7 +1249,9 @@  (define-opt
   load-auto-profiles
   enumeration
   (memq val '(no yes auto)))
-(define-opt load-osd-console? boolean)
+(define-opt load-commands? boolean)
+(define-opt load-console? boolean)
+(define-opt load-positioning? boolean)
 (define-opt load-scripts? boolean)
 (define-opt load-select? boolean)
 (define-opt load-stats-overlay? boolean)
@@ -1280,10 +1273,7 @@  (define-opt
   enumeration
   (memq val '(auto native normalized conversion)))
 (define-opt mc float (>= val 0) (<= val 100))
-(define-opt
-  media-controls
-  enumeration
-  (memq val '(no player yes)))
+(define-opt media-controls? boolean)
 (define-opt merge-files? boolean)
 (define-opt metadata-codepage string)
 (define-opt mf-fps double)
@@ -1366,6 +1356,20 @@  (define-opt
   float
   (>= val 0.1)
   (<= val 50))
+(define-opt
+  osd-bar-marker-min-size
+  float
+  (>= val 0)
+  (<= val 1000))
+(define-opt
+  osd-bar-marker-scale
+  float
+  (>= val 0)
+  (<= val 100))
+(define-opt
+  osd-bar-marker-style
+  enumeration
+  (memq val '(none triangle line)))
 (define-opt
   osd-bar-outline-size
   float
@@ -1449,6 +1453,8 @@  (define-opt
   (>= val 0)
   (<= val 100))
 (define-opt osd-scale-by-window? boolean)
+(define-opt osd-selected-color color)
+(define-opt osd-selected-outline-color color)
 (define-opt osd-shadow-offset float)
 (define-opt
   osd-spacing
@@ -1484,6 +1490,7 @@  (define-opt
   player-operation-mode
   enumeration
   (memq val '(cplayer pseudo-gui)))
+(define-opt playlist-exts list-of-string)
 (define-opt
   playlist-start
   enumeration
@@ -1533,6 +1540,7 @@  (define-opt
   (>= val -100)
   (<= val 100))
 (define-opt save-position-on-quit? boolean)
+(define-opt save-watch-history? boolean)
 (define-opt
   scale
   enumeration
@@ -1761,25 +1769,16 @@  (define-opt
   (memq val '(top center bottom)))
 (define-opt sub-ass? boolean)
 (define-opt sub-ass-force-margins? boolean)
-(define-opt
-  sub-ass-hinting
-  enumeration
-  (memq val '(none light normal native)))
 (define-opt sub-ass-justify? boolean)
-(define-opt
-  sub-ass-line-spacing
-  float
-  (>= val -1000)
-  (<= val 1000))
 (define-opt
   sub-ass-override
   enumeration
   (memq val '(no yes scale force strip)))
-(define-opt sub-ass-scale-with-window? boolean)
 (define-opt
-  sub-ass-shaper
-  enumeration
-  (memq val '(simple complex)))
+  sub-ass-prune-delay
+  double
+  (>= val -1))
+(define-opt sub-ass-scale-with-window? boolean)
 (define-opt
   sub-ass-style-overrides
   list-of-string)
@@ -1850,12 +1849,21 @@  (define-opt
   (>= val 0)
   (<= val 3))
 (define-opt sub-gray? boolean)
+(define-opt
+  sub-hinting
+  enumeration
+  (memq val '(none light normal native)))
 (define-opt sub-italic? boolean)
 (define-opt
   sub-justify
   enumeration
   (memq val '(auto left center right)))
 (define-opt sub-lavc-o list-of-key-value)
+(define-opt
+  sub-line-spacing
+  float
+  (>= val -1000)
+  (<= val 1000))
 (define-opt
   sub-margin-x
   integer
@@ -1880,8 +1888,13 @@  (define-opt
   (>= val 0)
   (<= val 100))
 (define-opt sub-scale-by-window? boolean)
+(define-opt sub-scale-signs? boolean)
 (define-opt sub-scale-with-window? boolean)
 (define-opt sub-shadow-offset float)
+(define-opt
+  sub-shaper
+  enumeration
+  (memq val '(simple complex)))
 (define-opt
   sub-spacing
   float
@@ -1950,7 +1963,10 @@  (define-opt
           sinc
           lanczos
           spline)))
-(define-opt target-colorspace-hint? boolean)
+(define-opt
+  target-colorspace-hint
+  enumeration
+  (memq val '(auto no yes)))
 (define-opt
   target-contrast
   enumeration
@@ -2193,13 +2209,6 @@  (define-opt
   enumeration
   (memq val
         '(none default nonref bidir nonkey all)))
-(define-opt
-  vd-lavc-software-fallback
-  enumeration
-  (or (memq val '(no yes))
-      (and (integer? val)
-           (>= val 1)
-           (<= val 2147483647))))
 (define-opt vd-lavc-threads integer (>= val 0))
 (define-opt vd-queue-enable? boolean)
 (define-opt
@@ -2231,11 +2240,11 @@  (define-opt
 (define-opt
   video-aspect-method
   enumeration
-  (memq val '(bitstream container)))
+  (memq val '(bitstream container ignore)))
 (define-opt
   video-aspect-override
   aspect
-  (>= val -1)
+  (>= val -2)
   (<= val 10))
 (define-opt
   video-backward-batch
@@ -2277,6 +2286,7 @@  (define-opt
   (memq val '(auto limited full)))
 (define-opt video-pan-x float)
 (define-opt video-pan-y float)
+(define-opt video-recenter? boolean)
 (define-opt
   video-reversal-buffer
   byte-size
@@ -2511,6 +2521,7 @@  (define-opt
   enumeration
   (memq val
         '(auto fifo fifo-relaxed mailbox immediate)))
+(define-opt watch-history-path string)
 (define-opt watch-later-directory string)
 (define-opt watch-later-options list-of-string)
 (define-opt wayland-app-id string)
@@ -2533,6 +2544,10 @@  (define-opt
   integer
   (>= val 0)
   (<= val 2147483647))
+(define-opt
+  wayland-internal-vsync
+  enumeration
+  (memq val '(no auto yes)))
 (define-opt wayland-present? boolean)
 (define-opt wid integer64)
 (define-opt window-dragging? boolean)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index dbe30e159c..5af4a0e50c 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -2567,7 +2567,7 @@  (define-public mplayer
 (define-public mpv
   (package
     (name "mpv")
-    (version "0.39.0")
+    (version "0.40.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -2575,7 +2575,7 @@  (define-public mpv
                     (commit (string-append "v" version))))
               (file-name (git-file-name name version))
               (sha256
-               (base32 "18v9hpnf3r3gii7m13gw04fiwps8lcdgjqc83rmvhfsk03ws3q84"))))
+               (base32 "0w0qk61ll0mddbkiwavqfx048sacyvp6fwglms58ypw869rh7iy7"))))
     (build-system meson-build-system)
     (arguments
      (list