Hi Hans, can you please take a look at the bug report below? Is this a hardware issue, kernel driver issue or libv4l issue?
Thanks, Gregor http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=612240 On Sat, Feb 12, 2011 at 4:15 AM, Sergey Spiridonov <s...@hurd.homeunix.org> wrote: > Hi > > 09.02.2011 18:47, Gregor Jasny пишет: > >> Did your camera work with Debian Lenny and ekiga? > > My camera was working with Debian Etch, but in Lenny it stops working > with ekiga. In Squeeze it starts working with ekiga again. As far as I > can remember (I may be wrong), there was a time that it works better > than now. There was some big change, something like moving some parts > from kernel (decompression?) into userspace. That time all trouble starts. > > Here is lsusb output: > Bus 004 Device 002: ID 046d:08a2 Logitech, Inc. Labtec Webcam Pro > > Slow FPS and very slow GUI happen with 0.8.2-1 with resolution 320x200 > but not with resolution 640x480. > >> So the error is now suppressed, and the short frames are skipped which > results in a low frame rate. But that's just a guess. > > With 0.8.0-1 320x200 real FPS and app responsiveness is much better then > with 0.8.2-1. > > Also "cheese" application segfaults (you can check attached backtrace) > if I choose 320x200 with 0.8.2-1, but it does not segfault and is much > responsive with 0.8.0-1 version and 320x200 resolution (printing huffman > code errors). > > Please ask me if you need more info. > -- > Best regards, Sergey Spiridonov >
libv4l2: open: 45 request == VIDIOC_QUERYCAP result == 0 request == VIDIOC_G_PARM result == 0 request == VIDIOC_S_STD result == -1 (Invalid argument) request == VIDIOC_ENUMINPUT result == 0 request == VIDIOC_ENUMINPUT result == -1 (Invalid argument) request == VIDIOC_S_INPUT result == 0 request == VIDIOC_QUERYBUF result == -1 (Invalid argument) request == VIDIOC_G_PARM result == 0 request == VIDIOC_G_FMT pixelformat: JPEG 320x240 field: 1 bytesperline: 320 imagesize29390 colorspace: 7, priv: 1 result == 0 VIDIOC_S_FMT app requesting: YU12 VIDIOC_S_FMT converting from: JPEG request == VIDIOC_S_FMT pixelformat: YU12 320x240 field: 1 bytesperline: 320 imagesize115200 colorspace: 7, priv: 1 result == 0 request == VIDIOC_G_FMT pixelformat: YU12 320x240 field: 1 bytesperline: 320 imagesize115200 colorspace: 7, priv: 1 result == 0 request == VIDIOC_G_FMT pixelformat: YU12 320x240 field: 1 bytesperline: 320 imagesize115200 colorspace: 7, priv: 1 result == 0 request == VIDIOC_TRY_FMT pixelformat: YU12 640x480 field: 1 bytesperline: 640 imagesize460800 colorspace: 7, priv: 0 result == 0 request == VIDIOC_QUERYBUF result == -1 (Invalid argument) request == VIDIOC_G_FMT pixelformat: YU12 320x240 field: 1 bytesperline: 320 imagesize115200 colorspace: 7, priv: 1 result == 0 request == VIDIOC_G_PARM result == 0 request == VIDIOC_S_FMT pixelformat: YU12 320x240 field: 1 bytesperline: 320 imagesize115200 colorspace: 7, priv: 1 result == 0 request == VIDIOC_G_FMT pixelformat: YU12 320x240 field: 1 bytesperline: 320 imagesize115200 colorspace: 7, priv: 1 result == 0 request == VIDIOC_REQBUFS count: 4 type: 1 memory: 1 result == 0 request == VIDIOC_QUERYBUF result == 0 libv4l2: Fake (conversion) mmap buf 0, seen by app at: 0xf0800000 request == VIDIOC_QUERYBUF result == 0 libv4l2: Fake (conversion) mmap buf 1, seen by app at: 0xf1800000 request == VIDIOC_QUERYBUF result == 0 libv4l2: Fake (conversion) mmap buf 2, seen by app at: 0xf2800000 request == VIDIOC_QUERYBUF result == 0 libv4l2: Fake (conversion) mmap buf 3, seen by app at: 0xf3800000 libv4l2: mapped buffer 0 at 0xf4989000 libv4l2: mapped buffer 1 at 0xf4981000 libv4l2: mapped buffer 2 at 0xf4979000 libv4l2: mapped buffer 3 at 0xf4971000 request == VIDIOC_QBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_STREAMON result == 0 request == VIDIOC_QUERYCTRL result == 0 request == VIDIOC_G_CTRL result == 0 request == VIDIOC_QUERYCTRL result == 0 request == VIDIOC_G_CTRL result == 0 request == VIDIOC_QUERYCTRL result == -1 (Invalid argument) request == VIDIOC_QUERYCTRL result == 0 request == VIDIOC_G_CTRL result == 0 request == VIDIOC_QUERYCTRL result == -1 (Invalid argument) request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == 0
libv4l2: open: 44 request == VIDIOC_QUERYCAP result == 0 request == VIDIOC_G_PARM result == 0 request == VIDIOC_S_STD result == -1 (Invalid argument) request == VIDIOC_ENUMINPUT result == 0 request == VIDIOC_ENUMINPUT result == -1 (Invalid argument) request == VIDIOC_S_INPUT result == 0 request == VIDIOC_QUERYBUF result == -1 (Invalid argument) request == VIDIOC_G_PARM result == 0 request == VIDIOC_G_FMT pixelformat: JPEG 320x240 field: 1 bytesperline: 320 imagesize29390 colorspace: 7, priv: 1 result == 0 VIDIOC_S_FMT app requesting: YU12 VIDIOC_S_FMT converting from: JPEG request == VIDIOC_S_FMT pixelformat: YU12 320x240 field: 1 bytesperline: 320 imagesize115200 colorspace: 7, priv: 1 result == 0 request == VIDIOC_G_FMT pixelformat: YU12 320x240 field: 1 bytesperline: 320 imagesize115200 colorspace: 7, priv: 1 result == 0 request == VIDIOC_G_FMT pixelformat: YU12 320x240 field: 1 bytesperline: 320 imagesize115200 colorspace: 7, priv: 1 result == 0 request == VIDIOC_TRY_FMT pixelformat: YU12 640x480 field: 1 bytesperline: 640 imagesize460800 colorspace: 7, priv: 0 result == 0 request == VIDIOC_QUERYBUF result == -1 (Invalid argument) request == VIDIOC_G_FMT pixelformat: YU12 320x240 field: 1 bytesperline: 320 imagesize115200 colorspace: 7, priv: 1 result == 0 request == VIDIOC_G_PARM result == 0 request == VIDIOC_S_FMT pixelformat: YU12 320x240 field: 1 bytesperline: 320 imagesize115200 colorspace: 7, priv: 1 result == 0 request == VIDIOC_G_FMT pixelformat: YU12 320x240 field: 1 bytesperline: 320 imagesize115200 colorspace: 7, priv: 1 result == 0 request == VIDIOC_REQBUFS count: 4 type: 1 memory: 1 result == 0 request == VIDIOC_QUERYBUF result == 0 libv4l2: Fake (conversion) mmap buf 0, seen by app at: 0xf0803000 request == VIDIOC_QUERYBUF result == 0 libv4l2: Fake (conversion) mmap buf 1, seen by app at: 0xf1803000 request == VIDIOC_QUERYBUF result == 0 libv4l2: Fake (conversion) mmap buf 2, seen by app at: 0xf2803000 request == VIDIOC_QUERYBUF result == 0 libv4l2: Fake (conversion) mmap buf 3, seen by app at: 0xf3803000 libv4l2: mapped buffer 0 at 0xf07fb000 libv4l2: mapped buffer 1 at 0xf07f3000 libv4l2: mapped buffer 2 at 0xf07eb000 libv4l2: mapped buffer 3 at 0xf07e3000 request == VIDIOC_QBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_QBUF result == 0 request == VIDIOC_STREAMON result == 0 request == VIDIOC_QUERYCTRL result == 0 request == VIDIOC_G_CTRL result == 0 request == VIDIOC_QUERYCTRL result == 0 request == VIDIOC_G_CTRL result == 0 request == VIDIOC_QUERYCTRL result == -1 (Invalid argument) request == VIDIOC_QUERYCTRL result == 0 request == VIDIOC_G_CTRL result == 0 request == VIDIOC_QUERYCTRL result == -1 (Invalid argument) libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: got 4 consecutive short frame errors, returning short framerequest == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == -1 (Invalid argument) libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: got 4 consecutive short frame errors, returning short framerequest == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == -1 (Invalid argument) libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: got 4 consecutive short frame errors, returning short framerequest == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == -1 (Invalid argument) libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: got 4 consecutive short frame errors, returning short framerequest == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == -1 (Invalid argument) libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000fffe libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000fffb libv4l2: got 4 consecutive short frame errors, returning short framerequest == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == -1 (Invalid argument) libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000fffb libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: got 4 consecutive short frame errors, returning short framerequest == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == -1 (Invalid argument) libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: got 4 consecutive short frame errors, returning short framerequest == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == -1 (Invalid argument) libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000fffd libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000fffb libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: got 4 consecutive short frame errors, returning short framerequest == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == -1 (Invalid argument) libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000fffb libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: got 4 consecutive short frame errors, returning short framerequest == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == -1 (Invalid argument) libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: got 4 consecutive short frame errors, returning short framerequest == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == -1 (Invalid argument) libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: got 4 consecutive short frame errors, returning short framerequest == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == -1 (Invalid argument) libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: got 4 consecutive short frame errors, returning short framerequest == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == -1 (Invalid argument) libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: warning error while converting frame data: v4l-convert: error decompressing JPEG: unknown huffman code: 0000ffff libv4l2: got 4 consecutive short frame errors, returning short framerequest == VIDIOC_DQBUF result == 0 request == VIDIOC_QBUF result == -1 (Invalid argument)
$ gdb cheese GNU gdb (GDB) 7.0.1-debian Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i486-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /usr/bin/cheese...(no debugging symbols found)...done. (gdb) run Starting program: /usr/bin/cheese [Thread debugging using libthread_db enabled] [New Thread 0xf32dcb70 (LWP 29521)] [New Thread 0xf2adbb70 (LWP 29522)] [New Thread 0xf249ab70 (LWP 29523)] [New Thread 0xf1c99b70 (LWP 29524)] [New Thread 0xf1498b70 (LWP 29525)] [New Thread 0xeec8fb70 (LWP 29527)] [Thread 0xf32dcb70 (LWP 29521) exited] [New Thread 0xf32dcb70 (LWP 29528)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xeec8fb70 (LWP 29527)] 0xf7edd6ae in gst_mini_object_copy () from /usr/lib/libgstreamer-0.10.so.0 (gdb) bt #0 0xf7edd6ae in gst_mini_object_copy () from /usr/lib/libgstreamer-0.10.so.0 #1 0xf2a95836 in ?? () from /usr/lib/gstreamer-0.10/libgstvideo4linux2.so #2 0xf2a8d287 in ?? () from /usr/lib/gstreamer-0.10/libgstvideo4linux2.so #3 0xf2a8baad in ?? () from /usr/lib/gstreamer-0.10/libgstvideo4linux2.so #4 0xf2a5aa26 in ?? () from /usr/lib/libgstbase-0.10.so.0 #5 0xf2a48e21 in ?? () from /usr/lib/libgstbase-0.10.so.0 #6 0xf2a4ace7 in ?? () from /usr/lib/libgstbase-0.10.so.0 #7 0xf7f106d1 in ?? () from /usr/lib/libgstreamer-0.10.so.0 #8 0xf7f11c97 in ?? () from /usr/lib/libgstreamer-0.10.so.0 #9 0xf77a15ec in ?? () from /lib/libglib-2.0.so.0 #10 0xf779f6cf in ?? () from /lib/libglib-2.0.so.0 #11 0xf7717955 in start_thread () from /lib/i686/cmov/libpthread.so.0 #12 0xf7697e7e in clone () from /lib/i686/cmov/libc.so.6 (gdb)