GNOME Bugzilla – Bug 565980
gconfvideosrc assumes v4l when given a partial pipeline
Last modified: 2009-01-02 10:15:08 UTC
Please describe the problem: I have a webcam which is a v4l2 device. Because of a bug in the underlying driver I want to specify my videosrc as "v4l2src ! video/x-raw-yuv,width=320,height=240" i.e. with a specific width and height. If I specify my videosrc as v4l2src then my webcam is treated as a v4l2 device however if I specify the partial pipeline then gstreamer assumes it's a v4l device. Steps to reproduce: 1. Modify /system/gstreamer/0.10/default/videosrc gconf setting to be "v4l2src ! video/x-raw-yuv,width=320,height=240" 2. Execute "gst-launch-0.10 gconfvideosrc ! xvimagesink" Actual results: The execution fails with the following output Setting pipeline to PLAYING ... New clock: GstSystemClock ERROR: from element /GstPipeline:pipeline0/GstGConfVideoSrc:gconfvideosrc0/GstV4lSrc:v4lsrc0: Could not synchronise on resource. Additional debug info: v4lsrc_calls.c(124): gst_v4lsrc_sync_frame (): /GstPipeline:pipeline0/GstGConfVideoSrc:gconfvideosrc0/GstV4lSrc:v4lsrc0: system error: Invalid argument The webcam is being called via the v4l interface, not the v4l2 interface. Expected results: I would expect gstreamer to guess that as the pipeline contains v4l2src that it should be treated as such. Does this happen every time? Yes Other information: Running latest updates on Fedora 10.
Please specify the value as: v4l2src ! capsfilter caps="video/x-raw-yuv,width=320,height=240" the reason is that the parser cannot parse the capfilter if there is no ! after the caps. I don't think we should support all of these special case shortcuts in the parser.