#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
_______________________________________________
FFmpeg-trac mailing list
FFmpeg-trac@avcodec.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-trac

To unsubscribe, visit link above, or email
ffmpeg-trac-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to