GStreamer Camera compliance

Nicolas Dufresne nicolas.dufresne at collabora.com
Wed Oct 7 01:53:52 PDT 2015


Le mardi 06 octobre 2015 à 01:33 -0700, Rushin Shah a écrit :
> Hi All,
> 
> I am facing an issue with my USB camera. Whenever I try to capture
> the
> stream from V4L2 source, it either returns only the GREY data or
> returns
> "Internal data flow error"
> 
> Following is my pipeline:
> 
> gst-launch-1.0 -v v4l2src ! video/x
> -raw,framerate=25/1,widht=640,height=360
> ! avimux ! filesink location=test.raw
> 
> 
> Following is the detailed error log:
> 
> Setting pipeline to PAUSED ...
> Pipeline is live and does not need PREROLL ...
> /GstPipeline:pipeline0/GstAviMux:avimux0.GstPad:src: caps = video/x
> -msvideo
> ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
> Internal
> data flow error.
> Additional debug info:
> gstbasesrc.c(2933): gst_base_src_loop ():
> /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
> streaming task paused, reason not-negotiated (-4)
> /GstPipeline:pipeline0/GstFileSink:filesink0.GstPad:sink: caps =
> video/x-msvideo
> ERROR: pipeline doesn't want to preroll.
> Setting pipeline to PAUSED ...
> Setting pipeline to READY ...
> Setting pipeline to NULL ...
> Freeing pipeline ...

As you can see, this error is "not-negotiated". It is likely that the
formats supported by your capture device does not match any of the
formats supported by avimux (or GStreamer ?).

> 
> I also installed v4l2-ctl utility and following are the outputs:
> 
> # v4l2-ctl --list-devices
> msm_vdec_8974 ():
>         /dev/video32
>         /dev/video33
> 
> Condor (usb-78d9000.ehci-1.1):
>         /dev/video0
>         /dev/video1
> 
> 
> # v4l2-ctl --list-formats
> ioctl: VIDIOC_ENUM_FMT
>         Index       : 0
>         Type        : Video Capture
>         Pixel Format: 'MUX ' (compressed)
>         Name        : MUX
> 
> 
> It seems my camera is giving mux as output and that is the reason my
> pipeline does not work. Please suggest what could be wrong as soon as
> possible.

MUX is not a valid fourcc in term of V4L2. You should study your driver
code. This vendor driver (Qualcomm MSM) may not respect the Linux Media
API.

  http://linuxtv.org/downloads/v4l-dvb-apis/

You should adapt this driver, where possible, to make it usable
generically and according to the V4L2 specification.

Nicolas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20151007/b6f49c43/attachment.sig>


More information about the gstreamer-devel mailing list