[FFmpeg-trac] #2370(avdevice:new): v4l2 should not need ENUMSTD

FFmpeg trac at avcodec.org
Sun Mar 17 05:26:20 CET 2013


#2370: v4l2 should not need ENUMSTD
-------------------------------------+-------------------------------------
               Reporter:  ubitux     |                  Owner:
                   Type:  defect     |                 Status:  new
               Priority:  important  |              Component:  avdevice
                Version:  git-       |               Keywords:  v4l2
  master                             |  regression
             Blocked By:             |               Blocking:
Reproduced by developer:  1          |  Analyzed by developer:  0
-------------------------------------+-------------------------------------
 Problem: lavd/v4l2.c now requires the device to support VIDIOC_ENUMSTD.

 This seems to be a regression according to
 https://github.com/umlaeute/v4l2loopback/issues/38

 Steps to reproduce:
  - install v4l2loopback and load the module
 {{{
 git clone git://github.com/umlaeute/v4l2loopback.git
 cd v4l2loopback
 make && sudo make install
 modprobe v4l2loopback
 }}}
  - push some video to the device with for instance:
 {{{
 gst-launch-0.10 videotestsrc ! v4l2sink device=/dev/video0
 }}}
  - try to play the device with FFmpeg
 {{{
 % ./ffplay -v verbose -f v4l2 /dev/video0
 ffplay version N-51026-g3313b9c Copyright (c) 2003-2013 the FFmpeg
 developers
   built on Mar 17 2013 04:38:52 with gcc 4.7.2 (GCC)
   configuration: --enable-gpl --enable-version3 --enable-fontconfig
 --enable-libfreetype --enable-libmp3lame --enable-libvorbis --enable-
 libxvid --enable-libx264 --enable-libvpx --enable-libtheora --enable-
 x11grab --enable-libopenjpeg --enable-libass --enable-libmodplug --enable-
 libv4l2 --cc=colorgcc --samples=/home/ubitux/fate-samples
 --prefix=/tmp/ffinstall --disable-runtime-cpudetect --enable-libcelt
 --enable-libopencv --enable-frei0r --enable-libcaca --enable-libiec61883
 --enable-libopencore-amrwb --enable-libopencore-amrnb --enable-libopus
 --enable-libpulse --enable-libspeex --enable-openal --enable-libopencv
   libavutil      52. 19.101 / 52. 19.101
   libavcodec     55.  0.100 / 55.  0.100
   libavformat    55.  0.100 / 55.  0.100
   libavdevice    55.  0.100 / 55.  0.100
   libavfilter     3. 47.102 /  3. 47.102
   libswscale      2.  2.100 /  2.  2.100
   libswresample   0. 17.102 /  0. 17.102
   libpostproc    52.  2.100 / 52.  2.100
 [video4linux2,v4l2 @ 0x7f457c000940] fd:7 capabilities:50000030/0
 [video4linux2,v4l2 @ 0x7f457c000940] Querying the device for the current
 frame size
 [video4linux2,v4l2 @ 0x7f457c000940] Setting frame size to 320x240
 [video4linux2,v4l2 @ 0x7f457c000940] ioctl(VIDIOC_ENUMSTD): Invalid
 argument
 /dev/video0: Invalid argument
 }}}

 The device plays fine with for example mplayer, and with older ffplay
 (1.1.3 is working).

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2370>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list