GNOME Bugzilla – Bug 484463
[v4l2src] Cheese fails to detect video device
Last modified: 2008-03-25 14:58:27 UTC
When I invoke cheese there is an error message saying that it can't detect the video device. Previous versions did work but 0.2.4 doesn't on this setup. The webcam is using the r5u870 driver. Here is the relevant lshal output: udi = '/org/freedesktop/Hal/devices/usb_device_5ca_1830_noserial' info.bus = 'usb_device' (string) info.linux.driver = 'usb' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device_0_0_0000_00_1d_7' (string) info.product = 'Unknown (0x1830)' (string) info.subsystem = 'usb_device' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_5ca_1830_noserial' (string) info.vendor = 'Ricoh Co., Ltd' (string) linux.device_file = '/dev/bus/usb/001/004' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'usb' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.7/usb1/1-6' (string) usb_device.bus_number = 1 (0x1) (int) usb_device.can_wake_up = false (bool) usb_device.configuration_value = 1 (0x1) (int) usb_device.device_class = 0 (0x0) (int) usb_device.device_protocol = 0 (0x0) (int) usb_device.device_revision_bcd = 256 (0x100) (int) usb_device.device_subclass = 0 (0x0) (int) usb_device.is_self_powered = false (bool) usb_device.linux.device_number = 4 (0x4) (int) usb_device.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.7/usb1/1-6' (string) usb_device.max_power = 100 (0x64) (int) usb_device.num_configurations = 1 (0x1) (int) usb_device.num_interfaces = 1 (0x1) (int) usb_device.num_ports = 0 (0x0) (int) usb_device.product_id = 6192 (0x1830) (int) usb_device.speed = 480.0 (480) (double) usb_device.speed_bcd = 294912 (0x48000) (int) usb_device.vendor = 'Ricoh Co., Ltd' (string) usb_device.vendor_id = 1482 (0x5ca) (int) usb_device.version = 2.0 (2) (double) usb_device.version_bcd = 512 (0x200) (int) udi = '/org/freedesktop/Hal/devices/usb_device_5ca_1830_noserial_if0' info.bus = 'usb' (string) info.linux.driver = 'r5u870' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device_5ca_1830_noserial' (string) info.product = 'Sony Visual Communication Camera VGP-VCC2' (string) info.subsystem = 'usb' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_5ca_1830_noserial_if0' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'usb' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.7/usb1/1-6/1-6:1.0' (string) usb.bus_number = 1 (0x1) (int) usb.can_wake_up = false (bool) usb.configuration_value = 1 (0x1) (int) usb.device_class = 0 (0x0) (int) usb.device_protocol = 0 (0x0) (int) usb.device_revision_bcd = 256 (0x100) (int) usb.device_subclass = 0 (0x0) (int) usb.interface.class = 6 (0x6) (int) usb.interface.number = 0 (0x0) (int) usb.interface.protocol = 0 (0x0) (int) usb.interface.subclass = 0 (0x0) (int) usb.is_self_powered = false (bool) usb.linux.device_number = 4 (0x4) (int) usb.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.7/usb1/1-6/1-6:1.0' (string) usb.max_power = 100 (0x64) (int) usb.num_configurations = 1 (0x1) (int) usb.num_interfaces = 1 (0x1) (int) usb.num_ports = 0 (0x0) (int) usb.product = 'Sony Visual Communication Camera VGP-VCC2' (string) usb.product_id = 6192 (0x1830) (int) usb.speed = 480.0 (480) (double) usb.speed_bcd = 294912 (0x48000) (int) usb.vendor = 'Ricoh Co., Ltd' (string) usb.vendor_id = 1482 (0x5ca) (int) usb.version = 2.0 (2) (double) usb.version_bcd = 512 (0x200) (int) and lsusb: Bus 001 Device 004: ID 05ca:1830 Ricoh Co., Ltd Bus 001 Device 002: ID 054c:0281 Sony Corp. Bus 001 Device 001: ID 0000:0000 Bus 005 Device 002: ID 044e:300c Alps Electric Co., Ltd Bus 005 Device 001: ID 0000:0000 Bus 004 Device 002: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader Bus 004 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 002 Device 001: ID 0000:0000
Here is the command-line output: cheese appending /home/adam/.gnome2/cheese/images/Picture01.jpg to thumbnail row appending /home/adam/.gnome2/cheese/images/Picture02.jpg to thumbnail row appending /home/adam/.gnome2/cheese/images/Picture03.jpg to thumbnail row appending /home/adam/.gnome2/cheese/images/Picture04.jpg to thumbnail row appending /home/adam/.gnome2/cheese/images/Picture05.jpg to thumbnail row appending /home/adam/.gnome2/cheese/images/Picture06.jpg to thumbnail row appending /home/adam/.gnome2/cheese/images/Picture07.jpg to thumbnail row appending /home/adam/.gnome2/cheese/images/Picture08.jpg to thumbnail row appending /home/adam/.gnome2/cheese/images/Picture09.jpg to thumbnail row ** Message: Probing the webcam, please ignore the following, not applicabable tries ** Message: Error running pipeline 'v4l2src ! fakesink': Could not negotiate format [gstbasesrc.c(2062): gst_base_src_start (): /pipeline0/v4l2src0: Check your filtered caps, if any] ** Message: test pipeline for v4l2src failed: [v4l2src ! fakesink]: Could not negotiate format ** Message: Error running pipeline 'v4lsrc ! video/x-raw-rgb,width=640,height=480 ! fakesink': Could not negotiate format [gstbasesrc.c(2062): gst_base_src_start (): /pipeline1/v4lsrc0: Check your filtered caps, if any] ** Message: test pipeline for v4lsrc failed: [v4lsrc ! video/x-raw-rgb,width=640,height=480 ! fakesink]: Could not negotiate format ** Message: Error running pipeline 'v4lsrc ! video/x-raw-yuv,width=640,height=480 ! fakesink': Could not negotiate format [gstbasesrc.c(2062): gst_base_src_start (): /pipeline2/v4lsrc1: Check your filtered caps, if any] ** Message: test pipeline for v4lsrc failed: [v4lsrc ! video/x-raw-yuv,width=640,height=480 ! fakesink]: Could not negotiate format ** Message: Error running pipeline 'v4lsrc ! video/x-raw-rgb,width=320,height=240 ! fakesink': Could not negotiate format [gstbasesrc.c(2062): gst_base_src_start (): /pipeline3/v4lsrc2: Check your filtered caps, if any] ** Message: test pipeline for v4lsrc failed: [v4lsrc ! video/x-raw-rgb,width=320,height=240 ! fakesink]: Could not negotiate format ** Message: Error running pipeline 'v4lsrc ! video/x-raw-rgb,width=1280,height=960 ! fakesink': Could not negotiate format [gstbasesrc.c(2062): gst_base_src_start (): /pipeline4/v4lsrc3: Check your filtered caps, if any] ** Message: test pipeline for v4lsrc failed: [v4lsrc ! video/x-raw-rgb,width=1280,height=960 ! fakesink]: Could not negotiate format ** Message: Error running pipeline 'v4lsrc ! video/x-raw-rgb,width=174,height=144 ! fakesink': Could not negotiate format [gstbasesrc.c(2062): gst_base_src_start (): /pipeline5/v4lsrc4: Check your filtered caps, if any] ** Message: test pipeline for v4lsrc failed: [v4lsrc ! video/x-raw-rgb,width=174,height=144 ! fakesink]: Could not negotiate format ** Message: Error running pipeline 'v4lsrc ! video/x-raw-rgb,width=160,height=120 ! fakesink': Could not negotiate format [gstbasesrc.c(2062): gst_base_src_start (): /pipeline6/v4lsrc5: Check your filtered caps, if any] ** Message: test pipeline for v4lsrc failed: [v4lsrc ! video/x-raw-rgb,width=160,height=120 ! fakesink]: Could not negotiate format ** Message: Error running pipeline 'v4lsrc ! fakesink': Could not negotiate format [gstbasesrc.c(2062): gst_base_src_start (): /pipeline7/v4lsrc6: Check your filtered caps, if any] ** Message: test pipeline for v4lsrc failed: [v4lsrc ! fakesink]: Could not negotiate format using photo source: videotestsrc using video source: videotestsrc
could you try if: - it works with a previous release of cheese - it works with gstreamer-properties? thanks!
I tried with 0.1.4 (which I compiled myself a while ago) and the result was the same. Here's the command-line output of running gstreamer-properties: gstreamer-properties gstreamer-properties-Message: Skipping unavailable plugin 'artsdsink' gstreamer-properties-Message: Skipping unavailable plugin 'esdsink' gstreamer-properties-Message: Skipping unavailable plugin 'sdlvideosink' gstreamer-properties-Message: Skipping unavailable plugin 'v4lmjpegsrc' gstreamer-properties-Message: Skipping unavailable plugin 'qcamsrc' gstreamer-properties-Message: Skipping unavailable plugin 'esdmon' gstreamer-properties-Message: Error running pipeline 'Video for Linux 2 (v4l2)': Could not open device '/dev/video0' for reading and writing. [v4l2_calls.c(418): gst_v4l2_open (): /pipeline0/v4l2src2: system error: Permission denied] gstreamer-properties-Message: Error running pipeline 'Video for Linux (v4l)': Could not open device "/dev/video0" for reading and writing. [v4l_calls.c(179): gst_v4l_open (): /pipeline1/v4lsrc4: system error: Permission denied] gstreamer-properties-Message: Error running pipeline 'Video for Linux 2 (v4l2)': Could not negotiate format [gstbasesrc.c(2062): gst_base_src_start (): /pipeline2/v4l2src4: Check your filtered caps, if any] I corrected the permission problem with /dev/video* but that didn't seem to be the whole problem. The system is running Fedora development.
so it really seems to be either a gstreamer problem or a configuration error?
Hard to say, as effectv and xawtv do detect and use the video device. I have submitted a Fedora bug on this as well, but no response as yet.
what happens if you try: # v4l2src queue-size=2 ! fakesink ?
Bloch, could you do this in gnome-terminal/a command line window please: $ GST_DEBUG=*:5 gst-launch-0.10 v4l2src num-buffers=50 ! ffmpegcolorspace ! gconfvideosink 2>dbg.log and then $ gzip dbg.log and then attach dbg.log.gz to this bug report please?
Created attachment 99290 [details] Gzipped dbg.log from requested command
Here's the command-line output when I ran the requested command@ ERROR: from element /pipeline0/v4l2src0: Could not negotiate format Additional debug info: gstbasesrc.c(2062): gst_base_src_start (): /pipeline0/v4l2src0: Check your filtered caps, if any
Hi there. I can confirm that this problem still exists. I'm running Cheese 2.21.5 on Ubuntu Hardy Heron and I have what seems to be exactly the same webcam as the one reported here on a Sony Vaio CR-31 S/W. The camera works on Ekiga, Skype 2.0, gstreamer-properties but not on Cheese. I can provide more info if needed but from what i've seen the info on lshal is exactly the same.
Here's the snippet from Bloch's debug log: gstpad.c:1963:gst_pad_get_caps_unlocked:<v4l2src0:src> dispatching to pad getcaps function v4l2src_calls.c:362:gst_v4l2src_fill_format_list:<v4l2src0> getting src format enu merations v4l2src_calls.c:377:gst_v4l2src_fill_format_list:<v4l2src0> got format YUYV v4l2src_calls.c:377:gst_v4l2src_fill_format_list:<v4l2src0> got format UYVY v4l2src_calls.c:631:gst_v4l2src_probe_caps_for_format:<v4l2src0> Failed to enumera te frame sizes for pixelformat YUYV (Invalid argument) v4l2src_calls.c:631:gst_v4l2src_probe_caps_for_format:<v4l2src0> Failed to enumera te frame sizes for pixelformat UYVY (Invalid argument) gstpad.c:1976:gst_pad_get_caps_unlocked:<v4l2src0:src> pad getcaps returned EMPTY gstbasesrc.c:1901:gst_base_src_default_negotiate:<v4l2src0> caps of src: EMPTY I think this is the same as bug #448278 and should be fixed in the latest release. Tiago: if your camera works in gstreamer-properties, but not in Cheese, that's probably a Cheese bug (or at least a different GStreamer bug). Probably best if you open a new bug about that then and attach a debug log to it as well. Thanks! *** This bug has been marked as a duplicate of 448278 ***