M gnu/local.mk => gnu/local.mk +1 -0
@@ 1876,6 1876,7 @@ dist_patch_DATA = \
%D%/packages/patches/mpg321-CVE-2019-14247.patch \
%D%/packages/patches/mpg321-gcc-10.patch \
%D%/packages/patches/mpv-0.40.0-fix-ffmpeg-8.0.patch \
+ %D%/packages/patches/mpv-0.40.0-fix-wayland-cpu-usage.patch \
%D%/packages/patches/modglue-fix-build.patch \
%D%/packages/patches/modem-manager-fix-test-wrapper.patch \
%D%/packages/patches/module-init-tools-moduledir.patch \
A gnu/packages/patches/mpv-0.40.0-fix-wayland-cpu-usage.patch => gnu/packages/patches/mpv-0.40.0-fix-wayland-cpu-usage.patch +34 -0
@@ 0,0 1,34 @@
+Upstream-status: https://github.com/mpv-player/mpv/pull/16140
+
+From d20ded876d27497d3fe6a9494add8106b507a45c Mon Sep 17 00:00:00 2001
+From: llyyr <llyyr.public@gmail.com>
+Date: Fri, 28 Mar 2025 15:34:33 +0530
+Subject: [PATCH] clipboard-wayland: prevent reading from hung up fd
+
+This causes mpv to use up 100% of a core if there's an offer for a
+mime_type that mpv doesn't accept with ext_data_control clipboard
+backend.
+---
+ player/clipboard/clipboard-wayland.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/player/clipboard/clipboard-wayland.c b/player/clipboard/clipboard-wayland.c
+index c4a5e50472..bd8ac35af2 100644
+--- a/player/clipboard/clipboard-wayland.c
++++ b/player/clipboard/clipboard-wayland.c
+@@ -348,6 +348,12 @@ static bool clipboard_wayland_dispatch_events(struct clipboard_wayland_priv *wl,
+ if (fds[1].revents & POLLIN)
+ return false;
+
++ if (fds[2].revents & (POLLERR | POLLHUP | POLLNVAL))
++ destroy_offer(wl->selection_offer);
++
++ if (fds[3].revents & (POLLERR | POLLHUP | POLLNVAL))
++ destroy_offer(wl->primary_selection_offer);
++
+ if (fds[2].revents & POLLIN)
+ get_selection_data(wl, wl->selection_offer, false);
+
+--
+2.51.0
+
M gnu/packages/video.scm => gnu/packages/video.scm +2 -1
@@ 2743,7 2743,8 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
(base32 "0w0qk61ll0mddbkiwavqfx048sacyvp6fwglms58ypw869rh7iy7"))
(patches
(search-patches
- "mpv-0.40.0-fix-ffmpeg-8.0.patch"))))
+ "mpv-0.40.0-fix-ffmpeg-8.0.patch"
+ "mpv-0.40.0-fix-wayland-cpu-usage.patch"))))
(build-system meson-build-system)
(arguments
(list