summaryrefslogtreecommitdiffstats
path: root/video/out/vo_wlshm.c
diff options
context:
space:
mode:
authorAaron Boxer <boxerab@protonmail.com>2022-05-30 13:19:23 -0400
committerDudemanguy <random342@airmail.cc>2022-05-30 19:51:46 +0000
commit3536b53ed1a45d9a5800a192e1bb0400743b32d0 (patch)
tree88e91c7cb0ab7130b4f7769a3bf678be09a446ba /video/out/vo_wlshm.c
parent38eda3804f95e9359c0c1730137759682c7decbc (diff)
downloadmpv-3536b53ed1a45d9a5800a192e1bb0400743b32d0.tar.bz2
mpv-3536b53ed1a45d9a5800a192e1bb0400743b32d0.tar.xz
vo: move allocate_memfd method to wayland_common
Diffstat (limited to 'video/out/vo_wlshm.c')
-rw-r--r--video/out/vo_wlshm.c17
1 files changed, 1 insertions, 16 deletions
diff --git a/video/out/vo_wlshm.c b/video/out/vo_wlshm.c
index 2bcb340754..2ed20176be 100644
--- a/video/out/vo_wlshm.c
+++ b/video/out/vo_wlshm.c
@@ -74,21 +74,6 @@ static void buffer_destroy(void *p)
munmap(buf->mpi.planes[0], buf->size);
}
-static int allocate_memfd(size_t size)
-{
- int fd = memfd_create("mpv", MFD_CLOEXEC | MFD_ALLOW_SEALING);
- if (fd < 0)
- return -1;
-
- fcntl(fd, F_ADD_SEALS, F_SEAL_SHRINK | F_SEAL_SEAL);
-
- if (posix_fallocate(fd, 0, size) == 0)
- return fd;
-
- close(fd);
- return -1;
-}
-
static struct buffer *buffer_create(struct vo *vo, int width, int height)
{
struct priv *p = vo->priv;
@@ -101,7 +86,7 @@ static struct buffer *buffer_create(struct vo *vo, int width, int height)
stride = MP_ALIGN_UP(width * 4, 16);
size = height * stride;
- fd = allocate_memfd(size);
+ fd = vo_wayland_allocate_memfd(vo, size);
if (fd < 0)
goto error0;
data = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);