diff --git a/meta-oe/recipes-multimedia/mplayer/mpv/0001-opengl-context-require-swap_buffers-param-for-FenceS.patch b/meta-oe/recipes-multimedia/mplayer/mpv/0001-opengl-context-require-swap_buffers-param-for-FenceS.patch deleted file mode 100644 index 70ba81b34c..0000000000 --- a/meta-oe/recipes-multimedia/mplayer/mpv/0001-opengl-context-require-swap_buffers-param-for-FenceS.patch +++ /dev/null @@ -1,35 +0,0 @@ -From f74adc4243bd9e1a8ee96d187c939e6232510650 Mon Sep 17 00:00:00 2001 -From: Dudemanguy -Date: Thu, 22 Jan 2026 11:12:22 -0600 -Subject: [PATCH] opengl/context: require swap_buffers param for FenceSync - -Commits 8854c742711705be1fcfcc6a5875960a3e2593dc and -5ae0e0ff9a6974453c1aba41ddc8442d12ac9264 eliminated the external -swapchain API that the render backend (vo_libmpv) was previously using. -However, it was missed that this was being used to skip the -gl->FenceSync calls and that logic change was not properly accounted -for. This meant that vo_libmpv would leak fences since -ra_gl_ctx_swap_buffers is never called to clean them up. - -Fix this by making sure the ra_ctx_params have swap_buffers defined -before calling gl->FenceSync. All platforms are required to implement -this anyway with the exception of vo_libmpv since it's a funny special -case. Fixes #17217. -Upstream-Status: Backport [https://github.com/mpv-player/mpv/commit/f74adc4243bd9e1a8ee96d187c939e6232510650] ---- - video/out/opengl/context.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/video/out/opengl/context.c b/video/out/opengl/context.c -index 86e8d5daac8b4..86e5c797d670a 100644 ---- a/video/out/opengl/context.c -+++ b/video/out/opengl/context.c -@@ -232,7 +232,7 @@ bool ra_gl_ctx_submit_frame(struct ra_swapchain *sw, const struct vo_frame *fram - if (p->opts->use_glfinish) - gl->Finish(); - -- if (gl->FenceSync) { -+ if (gl->FenceSync && p->params.swap_buffers) { - GLsync fence = gl->FenceSync(GL_SYNC_GPU_COMMANDS_COMPLETE, 0); - if (fence) - MP_TARRAY_APPEND(p, p->vsync_fences, p->num_vsync_fences, fence); diff --git a/meta-oe/recipes-multimedia/mplayer/mpv/0002-hwdec_drmprime_overlay-make-the-framebuffer-the-whole-frame.patch b/meta-oe/recipes-multimedia/mplayer/mpv/0002-hwdec_drmprime_overlay-make-the-framebuffer-the-whole-frame.patch deleted file mode 100644 index 577d8cfdaa..0000000000 --- a/meta-oe/recipes-multimedia/mplayer/mpv/0002-hwdec_drmprime_overlay-make-the-framebuffer-the-whole-frame.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Markus Volk -Subject: [PATCH] hwdec_drmprime_overlay: make the framebuffer the whole frame - -The framebuffer for the DRM plane was made the size of the source rect, -while SRC_X and SRC_Y place that rect inside the frame. As soon as the -rect does not start at the top left, with panscan or a video crop, it -reaches past the framebuffer and the atomic commit fails with ENOSPC; the -plane stays dark. Make the framebuffer the size of the frame and let the -SRC_* properties pick the part that is shown. - -Upstream-Status: Pending ---- ---- a/video/out/hwdec/hwdec_drmprime_overlay.c -+++ b/video/out/hwdec/hwdec_drmprime_overlay.c -@@ -187,7 +187,8 @@ - int dstw = MP_ALIGN_UP(p->dst.x1 - p->dst.x0, 2); - int dsth = MP_ALIGN_UP(p->dst.y1 - p->dst.y0, 2); - -- if (drm_prime_create_framebuffer(p->log, p->ctx->fd, desc, srcw, srch, &next_frame.fb, &p->handle_refs)) { -+ // The framebuffer is the whole frame, SRC_* pick the part shown -+ if (drm_prime_create_framebuffer(p->log, p->ctx->fd, desc, hw_image->w, hw_image->h, &next_frame.fb, &p->handle_refs)) { - ret = -1; - goto fail; - } diff --git a/meta-oe/recipes-multimedia/mplayer/mpv_0.41.0.bb b/meta-oe/recipes-multimedia/mplayer/mpv_0.42.0.bb similarity index 95% rename from meta-oe/recipes-multimedia/mplayer/mpv_0.41.0.bb rename to meta-oe/recipes-multimedia/mplayer/mpv_0.42.0.bb index f37ae4ac50..91085a6d33 100644 --- a/meta-oe/recipes-multimedia/mplayer/mpv_0.41.0.bb +++ b/meta-oe/recipes-multimedia/mplayer/mpv_0.42.0.bb @@ -22,11 +22,9 @@ LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=570a9b3749dd0463a1778803b12a6dce" # unbuildable "Nothing PROVIDES 'ffmpeg'" dependency. LICENSE_FLAGS = "commercial" -SRCREV = "41f6a645068483470267271e1d09966ca3b9f413" +SRCREV = "b0841e8c4d156b8403dc1876c4cbd9011eb583f3" SRC_URI = " \ git://github.com/mpv-player/mpv;name=mpv;branch=release/${@oe.utils.trim_version('${PV}', 2)};protocol=https;tag=v${PV} \ - file://0001-opengl-context-require-swap_buffers-param-for-FenceS.patch \ - file://0002-hwdec_drmprime_overlay-make-the-framebuffer-the-whole-frame.patch \ " inherit meson pkgconfig mime-xdg