[FFmpeg-trac] #11570(avdevice:new): v4l2 1.30 breaks build of 7.1.1
FFmpeg
trac at avcodec.org
Thu May 15 09:14:03 EEST 2025
#11570: v4l2 1.30 breaks build of 7.1.1
-------------------------------------+------------------------------------
Reporter: bbhtt | Owner: (none)
Type: defect | Status: new
Priority: normal | Component: avdevice
Version: unspecified | Resolution:
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+------------------------------------
Comment (by bbhtt):
Ok I think I see what is happening, ffmpeg is setting HAVE_POSIX_IOCTL to
0 in config.h which is triggering the wrong v4l2_ioctl definition to get
chosen. There is an clash in the macro names. It's debatable who should
fix it, but I temporarily patched it like so:
{{{
diff --git a/configure b/configure
index ffa407d53d..aa73b1c067 100755
--- a/configure
+++ b/configure
@@ -2522,7 +2522,7 @@ HAVE_LIST="
opencl_videotoolbox
perl
pod2man
- posix_ioctl
+ ffmpeg_posix_ioctl
texi2html
xmllint
zlib_gzip
@@ -7181,7 +7181,7 @@ xmllint --version > /dev/null 2>&1 && enable
xmllint || disable xmllint
check_headers linux/fb.h
check_headers linux/videodev2.h
test_code cc linux/videodev2.h "struct v4l2_frmsizeenum vfse;
vfse.discrete.width = 0;" && enable_sanitized
struct_v4l2_frmivalenum_discrete
-test_code cc sys/ioctl.h "int ioctl(int, int, ...)" && enable posix_ioctl
+test_code cc sys/ioctl.h "int ioctl(int, int, ...)" && enable
ffmpeg_posix_ioctl
# check V4L2 codecs available in the API
if enabled v4l2_m2m; then
diff --git a/libavdevice/v4l2.c b/libavdevice/v4l2.c
index 0ae6872338..be42aaaf88 100644
--- a/libavdevice/v4l2.c
+++ b/libavdevice/v4l2.c
@@ -111,7 +111,7 @@ struct video_data {
int (*open_f)(const char *file, int oflag, ...);
int (*close_f)(int fd);
int (*dup_f)(int fd);
-#if HAVE_POSIX_IOCTL
+#if HAVE_FFMPEG_POSIX_IOCTL
int (*ioctl_f)(int fd, int request, ...);
#else
int (*ioctl_f)(int fd, unsigned long int request, ...);
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/11570#comment:2>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list