GNOME Bugzilla – Bug 490034
[v4l2src] "could not get buffers from device"
Last modified: 2008-01-22 22:18:21 UTC
Please describe the problem: My cam doesn't work without the queue-size set to 2 manually. Steps to reproduce: 1. gst-launch-0.10 v4l2src ! video/x-raw-yuv,width=320,height=240 ! ffmpegcolorspace ! ximagesink Actual results: Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... ERROR: from element /pipeline0/v4l2src0: Could not get buffers from device '/dev/video0'. Additional debug info: v4l2src_calls.c(1025): gst_v4l2src_capture_init (): /pipeline0/v4l2src0: error requesting 0 buffers: Ne peut allouer de la mémoire ERROR: pipeline doesn't want to preroll. Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... FREEING pipeline ... Expected results: I expect it to show me what the cam is seeing. Does this happen every time? Yes. Other information: If I use: gst-launch-0.10 v4l2src queue-size=2 ! video/x-raw-yuv,width=320,height=240 ! ffmpegcolorspace ! ximagesink (note the queue-size=2) it works perfectly. and when I gst-inspect v4l2src: [...] queue-size : Number of buffers to be enqueud in the driver flags: readable, writable Unsigned Integer. Range: 2 - 16 Default: 2 Current: 0 Why current is set to 0?
It's a bug (v4l2src in the -good 0.10.6 release was very buggy, it's marked as experimental for a reason), it's been fixed in CVS: 2007-07-17 Stefan Kost <ensonic@users.sf.net> * sys/v4l2/gstv4l2src.c: (gst_v4l2src_init): Initialize num_buffers with minimum value. * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_fill_format_list), (gst_v4l2src_probe_caps_for_format), (gst_v4l2src_grab_frame): Handle frame-size query failure gracefully.
*** Bug 473554 has been marked as a duplicate of this bug. ***
*** Bug 511129 has been marked as a duplicate of this bug. ***