Title V4L capture can fail immediately after loading module
Priority bug Status in-progress
Superseder Nosy List ahixon, tjworld
Assigned To ahixon Topics

Created on 2008-03-22.12:24:37 by tjworld, last changed 2008-03-22.22:30:21 by ahixon.

Messages
msg31 (view) Author: ahixon Date: 2008-03-22.22:30:21
I'll take a look into this, see what the code path is exactly.
msg26 (view) Author: tjworld Date: 2008-03-22.12:24:37
In doing a series of hack/debug/test sequences I discovered that
after loading the module, unless the device is opened as V4L2 first,
a V4L connection will fail if the gstreamer pipeline tries to set the
capture dimensions.

sudo modprobe r5u870
gst-launch-0.10 v4lsrc ! video/x-raw-yuv,width=160,height=120 !
ffmpegcolorspace ! ximagesink
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /pipeline0/v4lsrc0: Could not negotiate format
Additional debug info:
gstbasesrc.c(2062): gst_base_src_start (): /pipeline0/v4lsrc0:
Check your filtered caps, if any
Setting pipeline to NULL ...
FREEING pipeline ...

Without setting dimensions it works:

gst-launch-0.10 v4lsrc ! video/x-raw-yuv ! ffmpegcolorspace ! ximagesink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /pipeline0/ximagesink0: Output window was closed
Additional debug info:
ximagesink.c(1061): gst_ximagesink_handle_xevents ():
/pipeline0/ximagesink0
Execution ended after 2476654000 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
FREEING pipeline ...

HOWEVER, using the v4l2src it is possible to set the dimensions
immediately:

gst-launch-0.10 v4l2src ! video/x-raw-yuv,width=160,height=120 !
ffmpegcolorspace ! ximagesink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
WARNING: from element /pipeline0/v4l2src0: Could not set parameters
on device '/dev/video0'
Additional debug info:
v4l2src_calls.c(961): gst_v4l2src_set_capture (): /pipeline0/v4l2src0:
system error: Invalid argument
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /pipeline0/ximagesink0: Output window was closed
Additional debug info:
ximagesink.c(1061): gst_ximagesink_handle_xevents ():
/pipeline0/ximagesink0
Execution ended after 1836081000 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
FREEING pipeline ...

and after that has succeeded the V4L version will work:

gst-launch-0.10 v4lsrc ! video/x-raw-yuv,width=160,height=120 !
ffmpegcolorspace ! ximagesink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /pipeline0/ximagesink0: Output window was closed
Additional debug info:
ximagesink.c(1061): gst_ximagesink_handle_xevents ():
/pipeline0/ximagesink0
Execution ended after 2110038000 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
FREEING pipeline ...
History
Date User Action Args
2008-03-22 22:30:21ahixonsetstatus: unread -> in-progress
assignedto: ahixon
messages: + msg31
nosy: + ahixon
2008-03-22 12:24:37tjworldcreate