Files
openwrt-packages/multimedia/ffmpeg/patches/020-ioctl.patch
Rosen Penev 9043b66e87 ffmpeg: fix compilation with gcc14
Requires disabling a warning as there's an incompatibility between musl
ioctl and v4l2_ioctl.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2024-06-02 19:19:10 -07:00

36 lines
1.3 KiB
Diff

From 9e674b31606c805dd31b4bb754364a72a5877238 Mon Sep 17 00:00:00 2001
From: Brad Smith <brad-at-comstyle.com@ffmpeg.org>
Date: Sun, 5 May 2024 23:59:47 -0400
Subject: [PATCH] lavd/v4l2: Use proper field type for second parameter of
ioctl() with BSD's
The proper type was used until 73251678c83cbe24d08264da693411b166239bc7.
This covers all of the OS's that currently have V4L2 support, permutations
of Linux glibc/musl, Android bionic, FreeBSD, NetBSD, OpenBSD, Solaris.
Copied from FreeBSD ports patch.
Signed-off-by: Brad Smith <brad@comstyle.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
---
libavdevice/v4l2.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
--- a/libavdevice/v4l2.c
+++ b/libavdevice/v4l2.c
@@ -106,10 +106,10 @@ struct video_data {
int (*open_f)(const char *file, int oflag, ...);
int (*close_f)(int fd);
int (*dup_f)(int fd);
-#ifdef __GLIBC__
- int (*ioctl_f)(int fd, unsigned long int request, ...);
-#else
+#if defined(__sun) || defined(__BIONIC__) || defined(__musl__) /* POSIX-like */
int (*ioctl_f)(int fd, int request, ...);
+#else
+ int (*ioctl_f)(int fd, unsigned long int request, ...);
#endif
ssize_t (*read_f)(int fd, void *buffer, size_t n);
void *(*mmap_f)(void *start, size_t length, int prot, int flags, int fd, int64_t offset);