id	summary	reporter	owner	description	type	status	priority	component	version	resolution	keywords	cc	blockedby	blocking	reproduced	analyzed
1570	libv4l2: error dequeuing buf: Resource temporarily unavailable	llarevo		"Capturing from analog card Terratec Cinergy 400 TV isn't possible in ffmpeg versions from 0.7.13 to 0.11.1. Capturing from and Terratec Cinergy XS USB is working fine. Both cards are proved OK for Linux and working with all of my other apps (tvtime, xawtv, mplayer, mencoder). See my discussion on linux-media http://article.gmane.org/gmane.linux.drivers.video-input-infrastructure/51055

I'm using Fedora 17 and tried different versions from 0.5.x with different hardware. The cards were tuned to Channel E10 (europe-west) and had good quality signal (analog cable).

The test results are
{{{
                          Cinergy XS USB  Cinergy 400 TV
0.5.10                    OK              OK
0.7.13                    OK              broken (differently, s.b.)
0.8.12                    OK              broken (differently, s.b.)
0.9.2                     OK              broken (differently, s.b.) 
0.9.2 (--enable-libv4l2)  OK              broken (like in title)
0.10.4 (--enable-libv4l2) OK              broken (like in title)
0.11.1                    OK              broken (differently, s.b.)
0.11.1 (--enable-libv4l2) OK              broken (like in title)
}}}
The detailed error from the broken test cases are below.

Further testing results in a regression introduced with version 70f7736 in 2009:
{{{
01058893  2010-09-12 19:44:45 OK
6ac6e3d   2010-09-23 03:40:06 OK
70f7736   2010-09-23 09:16:05 not OK
30b4ee79  2011-09-23 20:50:11 not OK
}}}

There seems to be a problem with setting the frame rate, because when the frame rate is given, the result is:

{{{
/usr/local/bin/ffmpeg -t 300 -f video4linux2 -s vga -r 25 -b 2000k -i /dev/video0 out-vga-2M-5min.mpg
FFmpeg version git-70f7736, Copyright (c) 2000-2010 the FFmpeg developers
  built on Jul 24 2012 11:18:05 with gcc 4.7.0 20120507 (Red Hat 4.7.0-5)
  configuration: --prefix=/usr/local --libdir=/usr/local/lib64 --shlibdir=/usr/local/lib64 --enable-nonfree --enable-gpl --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libtheora --enable-libxvid --disable-asm
  libavutil     50.27. 0 / 50.27. 0
  libavcore      0. 9. 0 /  0. 9. 0
  libavcodec    52.89. 0 / 52.89. 0
  libavformat   52.78. 5 / 52.78. 5
  libavdevice   52. 2. 2 / 52. 2. 2
  libavfilter    1.39. 0 /  1.39. 0
  libswscale     0.11. 0 /  0.11. 0
[video4linux2 @ 0x2b16c90] ioctl set time per frame(1/25) failed
/dev/video0: Input/output error
}}}



** DETAILED OUTPUT OF THE TESTCASES IN THE TABLE ABOVE **

0.11.1 (--enable-lib4vl2)

Terratec Cinergy 400 TV



{{{
ffmpeg -y -t 300 -f video4linux2 -s vga -b:v 2000k -i /dev/video0
-target pal-dvd out-vga-2M-5min.mpg
ffmpeg version 0.11.1 Copyright (c) 2000-2012 the FFmpeg developers
  built on Jul 20 2012 15:52:59 with gcc 4.7.0 20120507 (Red Hat
4.7.0-5)
  configuration: --prefix=/usr/local --libdir=/usr/local/lib64
--shlibdir=/usr/local/lib64 --enable-nonfree --enable-runtime-cpudetect
--enable-libass --enable-libbluray --enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-libfaac --enable-libfreetype
--enable-libgsm --enable-libmp3lame --enable-libopenjpeg
--enable-libpulse --enable-libschroedinger --enable-libspeex
--enable-libtheora --enable-libv4l2 --enable-libvo-amrwbenc
--enable-libvpx --enable-libx264 --enable-libxvid --enable-openssl
--enable-gpl --enable-version3 --disable-crystalhd
  libavutil      51. 54.100 / 51. 54.100
  libavcodec     54. 23.100 / 54. 23.100
  libavformat    54.  6.100 / 54.  6.100
  libavdevice    54.  0.100 / 54.  0.100
  libavfilter     2. 77.100 /  2. 77.100
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 15.100 /  0. 15.100
  libpostproc    52.  0.100 / 52.  0.100
libv4l2: error dequeuing buf: Resource temporarily unavailable


(10000 times/s this Error)^C
Estimating duration from bitrate, this may be inaccurate
Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 1342800064.407901, bitrate: N/A
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 640x480,
-2147483 kb/s, 1.67 tbr, 1000k tbn, 1000k tbc
[buffer @ 0x3120c40] w:640 h:480 pixfmt:yuv420p tb:1/1000000 sar:0/1
sws_param:flags=2
[buffersink @ 0x3120a60] No opaque field provided
[scale @ 0x3121300] w:640 h:480 fmt:yuv420p sar:0/1 -> w:720 h:576
fmt:yuv420p sar:0/1 flags:0x4
Output #0, dvd, to 'out-vga-2M-5min.mpg':
  Metadata:
    encoder         : Lavf54.6.100
    Stream #0:0: Video: mpeg2video, yuv420p, 720x576, q=2-31, 6000 kb/s,
90k tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo -> mpeg2video)
Press [q] to stop, [?] for help
frame=    0 fps=0.0 q=0.0 Lsize=       0kB time=00:00:00.00 bitrate=
0.0kbits/s    
video:0kB audio:0kB global headers:0kB muxing overhead -nan%
Output file is empty, nothing was encoded (check -ss / -t / -frames
parameters if used)
Received signal 2: terminating.
}}}


0.11.1 (without --enable-libv4l2) 

Terratec Cinergy 400 TV

{{{
ffmpeg -y -t 300 -f video4linux2 -s vga -b:v 2000k -i /dev/video0
-target pal-dvd out-vga-2M-5min.mpg
ffmpeg version 0.11.1 Copyright (c) 2000-2012 the FFmpeg developers
  built on Jul 20 2012 18:21:19 with gcc 4.7.0 20120507 (Red Hat
4.7.0-5)
  configuration: --prefix=/usr/local --libdir=/usr/local/lib64
--shlibdir=/usr/local/lib64 --enable-nonfree --enable-runtime-cpudetect
--enable-libass --enable-libbluray --enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-libfaac --enable-libfreetype
--enable-libgsm --enable-libmp3lame --enable-libopenjpeg
--enable-libpulse --enable-libschroedinger --enable-libspeex
--enable-libtheora --enable-libvo-amrwbenc --enable-libvpx
--enable-libx264 --enable-libxvid --enable-openssl --enable-gpl
--enable-version3 --disable-crystalhd
  libavutil      51. 54.100 / 51. 54.100
  libavcodec     54. 23.100 / 54. 23.100
  libavformat    54.  6.100 / 54.  6.100
  libavdevice    54.  0.100 / 54.  0.100
  libavfilter     2. 77.100 /  2. 77.100
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 15.100 /  0. 15.100
  libpostproc    52.  0.100 / 52.  0.100
^CEstimating duration from bitrate, this may be inaccurate
Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 1342801330.121303, bitrate: N/A
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 640x480,
-2147483 kb/s, 1.67 tbr, 1000k tbn, 1000k tbc
[buffer @ 0x182aa60] w:640 h:480 pixfmt:yuv420p tb:1/1000000 sar:0/1
sws_param:flags=2
[buffersink @ 0x182b300] No opaque field provided
[scale @ 0x1831a20] w:640 h:480 fmt:yuv420p sar:0/1 -> w:720 h:576
fmt:yuv420p sar:0/1 flags:0x4
Output #0, dvd, to 'out-vga-2M-5min.mpg':
  Metadata:
    encoder         : Lavf54.6.100
    Stream #0:0: Video: mpeg2video, yuv420p, 720x576, q=2-31, 6000 kb/s,
90k tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo -> mpeg2video)
Press [q] to stop, [?] for help
frame=    0 fps=0.0 q=0.0 Lsize=       0kB time=00:00:00.00 bitrate=
0.0kbits/s    
video:0kB audio:0kB global headers:0kB muxing overhead -nan%
Output file is empty, nothing was encoded (check -ss / -t / -frames
parameters if used)
Received signal 2: terminating.
}}}




0.10.4. (--enable-libv4l2)

Terratec Cinergy 400 TV

{{{
ffmpeg -y -t 300 -f video4linux2 -s vga -b:v 2000k -i /dev/video0
-target pal-dvd out-vga-2M-5min.mpg
ffmpeg version 0.10.4 Copyright (c) 2000-2012 the FFmpeg developers
  built on Jun 13 2012 09:51:06 with gcc 4.7.0 20120507 (Red Hat
4.7.0-5)
  configuration: --prefix=/usr --bindir=/usr/bin
--datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg
--libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64
--extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic'
--enable-bzlib --disable-crystalhd --enable-gnutls --enable-libass
--enable-libcdio --enable-libcelt --enable-libdc1394
--disable-indev=jack --enable-libfreetype --enable-libgsm
--enable-libmp3lame --enable-openal --enable-libopenjpeg
--enable-libpulse --enable-librtmp --enable-libschroedinger
--enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2
--enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab
--enable-avfilter --enable-postproc --enable-pthreads --disable-static
--enable-shared --enable-gpl --disable-debug --disable-stripping
--shlibdir=/usr/lib64 --enable-runtime-cpudetect
  libavutil      51. 35.100 / 51. 35.100
  libavcodec     53. 61.100 / 53. 61.100
  libavformat    53. 32.100 / 53. 32.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 61.100 /  2. 61.100
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0.  6.100 /  0.  6.100
  libpostproc    52.  0.100 / 52.  0.100
libv4l2: error dequeuing buf: Resource temporarily unavailable


(10000 times/s this Error)^C
Estimating duration from bitrate, this may be inaccurate
Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 1342801628.759741, bitrate: N/A
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 640x480,
-2147483 kb/s, 1.67 tbr, 1000k tbn, 1000k tbc
[buffer @ 0x1de0020] w:640 h:480 pixfmt:yuv420p tb:1/1000000 sar:0/1
sws_param:
[scale @ 0x1de7d60] w:640 h:480 fmt:yuv420p -> w:720 h:576 fmt:yuv420p
flags:0x4
Output #0, dvd, to 'out-vga-2M-5min.mpg':
  Metadata:
    encoder         : Lavf53.32.100
    Stream #0:0: Video: mpeg2video, yuv420p, 720x576, q=2-31, 6000 kb/s,
90k tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo -> mpeg2video)
Press [q] to stop, [?] for help
frame=    0 fps=  0 q=0.0 Lsize=       0kB time=00:00:00.00 bitrate=
0.0kbits/s    
video:0kB audio:0kB global headers:0kB muxing overhead -nan%
Output file is empty, nothing was encoded (check -ss / -t / -frames
parameters if used)
Received signal 2: terminating.
}}}






0.9.2 (--enable-libv4l2)

Terratec Cinergy 400 TV

{{{
ffmpeg -y -t 300 -f video4linux2 -s vga -b:v 2000k -i /dev/video0
-target pal-dvd out-vga-2M-5min.mpg
ffmpeg version 0.9.2, Copyright (c) 2000-2012 the FFmpeg developers
  built on Jul 20 2012 16:34:02 with gcc 4.7.0 20120507 (Red Hat
4.7.0-5)
  configuration: --prefix=/usr/local --libdir=/usr/local/lib64
--shlibdir=/usr/local/lib64 --enable-nonfree --enable-runtime-cpudetect
--enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb
--enable-libfaac --enable-libfreetype --enable-libgsm
--enable-libmp3lame --enable-libopenjpeg --enable-libpulse
--enable-libschroedinger --enable-libspeex --enable-libtheora
--enable-libv4l2 --enable-libvo-amrwbenc --enable-libvpx
--enable-libx264 --enable-libxvid --enable-openssl --enable-gpl
--enable-version3 --disable-crystalhd
  libavutil    51. 32. 0 / 51. 32. 0
  libavcodec   53. 42. 4 / 53. 42. 4
  libavformat  53. 24. 2 / 53. 24. 2
  libavdevice  53.  4. 0 / 53.  4. 0
  libavfilter   2. 53. 0 /  2. 53. 0
  libswscale    2.  1. 0 /  2.  1. 0
  libpostproc  51.  2. 0 / 51.  2. 0
libv4l2: error dequeuing buf: Resource temporarily unavailable

(10000 times/s this Error)^C
Estimating duration from bitrate, this may be inaccurate
/dev/video0: could not find codec parameters

}}}


0.9.2 (without --enable-libv4l2)

Terratec Cinergy 400 TV

{{{
ffmpeg -y -t 300 -f video4linux2 -s vga -b:v 2000k -i /dev/video0
-target pal-dvd out-vga-2M-5min.mpg
ffmpeg version 0.9.2, Copyright (c) 2000-2012 the FFmpeg developers
  built on Jul 20 2012 18:08:18 with gcc 4.7.0 20120507 (Red Hat
4.7.0-5)
  configuration: --prefix=/usr/local --libdir=/usr/local/lib64
--shlibdir=/usr/local/lib64 --enable-nonfree --enable-runtime-cpudetect
--enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb
--enable-libfaac --enable-libfreetype --enable-libgsm
--enable-libmp3lame --enable-libopenjpeg --enable-libpulse
--enable-libschroedinger --enable-libspeex --enable-libtheora
--enable-libvo-amrwbenc --enable-libvpx --enable-libx264
--enable-libxvid --enable-openssl --enable-gpl --enable-version3
--disable-crystalhd
  libavutil    51. 32. 0 / 51. 32. 0
  libavcodec   53. 42. 4 / 53. 42. 4
  libavformat  53. 24. 2 / 53. 24. 2
  libavdevice  53.  4. 0 / 53.  4. 0
  libavfilter   2. 53. 0 /  2. 53. 0
  libswscale    2.  1. 0 /  2.  1. 0
  libpostproc  51.  2. 0 / 51.  2. 0
^C
Estimating duration from bitrate, this may be inaccurate
/dev/video0: could not find codec parameters
Received signal 2: terminating.

}}}



0.8.12

Terratec Cinergy 400 TV
{{{
ffmpeg -y -t 300 -f video4linux2 -s vga -b 2000k -i /dev/video0 -target
pal-dvd out-vga-2M-5min.mpg
ffmpeg version 0.8.12, Copyright (c) 2000-2011 the FFmpeg developers
  built on Jul 20 2012 16:39:40 with gcc 4.7.0 20120507 (Red Hat
4.7.0-5)
  configuration: --prefix=/usr/local --libdir=/usr/local/lib64
--shlibdir=/usr/local/lib64 --enable-nonfree --enable-runtime-cpudetect
--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfaac
--enable-libfreetype --enable-libgsm --enable-libmp3lame
--enable-libopenjpeg --enable-libschroedinger --enable-libspeex
--enable-libtheora --enable-libvo-amrwbenc --enable-libvpx
--enable-libx264 --enable-libxvid --enable-gpl --enable-version3
--disable-crystalhd
  libavutil    51.  9. 1 / 51.  9. 1
  libavcodec   53.  8. 0 / 53.  8. 0
  libavformat  53.  5. 0 / 53.  5. 0
  libavdevice  53.  1. 1 / 53.  1. 1
  libavfilter   2. 23. 0 /  2. 23. 0
  libswscale    2.  0. 0 /  2.  0. 0
  libpostproc  51.  2. 0 / 51.  2. 0
^C
}}}


0.7.13

Terratec Cinergy 400 TV
{{{
ffmpeg -y -t 300 -f video4linux2 -s vga -b 2000k -i /dev/video0 -target
pal-dvd out-vga-2M-5min.mpg
ffmpeg version 0.7.13, Copyright (c) 2000-2011 the FFmpeg developers
  built on Jul 20 2012 16:50:52 with gcc 4.7.0 20120507 (Red Hat
4.7.0-5)
  configuration: --prefix=/usr/local --libdir=/usr/local/lib64
--shlibdir=/usr/local/lib64 --enable-nonfree --enable-runtime-cpudetect
--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfaac
--enable-libfreetype --enable-libgsm --enable-libmp3lame
--enable-libopenjpeg --enable-libschroedinger --enable-libspeex
--enable-libtheora --enable-libvo-amrwbenc --enable-libvpx
--enable-libx264 --enable-libxvid --enable-gpl --enable-version3
--disable-crystalhd
  libavutil    50. 43. 0 / 50. 43. 0
  libavcodec   52.123. 0 / 52.123. 0
  libavformat  52.111. 0 / 52.111. 0
  libavdevice  52.  5. 0 / 52.  5. 0
  libavfilter   1. 80. 0 /  1. 80. 0
  libswscale    0. 14. 1 /  0. 14. 1
  libpostproc  51.  2. 0 / 51.  2. 0
^C
}}}

For comparison, here's the link to the thread on ffmpeg-media, where I found great help: http://ffmpeg.org/pipermail/ffmpeg-user/2012-July/008210.html"	defect	closed	important	avdevice	git-master	fixed	v4l2 regression				1	1
