Bug#800605: v4l2loopback-dkms: Can't pipe modified video stream to a loopback device

2015-10-01 Thread Debian/GNU
Control: tags -1 confirmed
thanks

On 10/01/2015 05:25 PM, Roland Mas wrote:
> 
> I'm trying to intercept a video stream from a webcam and crop it a bit
> before passing it on for further processing.  I found v4l2loopback,
> which sounds like it's exactly what I'm looking for.  However, I get
> crashes as soon as I try to insert processing in the pipeline.
> 
> The following works:
> 
> ,
> | $ gst-launch-1.0 v4l2src device=/dev/video0 ! v4l2sink device=/dev/video1
> `
> 
> (Works as in I'm able to see the video with "gst-launch-1.0 v4l2src
> device=/dev/video1 ! xvimagesink")


interesting.
to the best of my knowledge, v4l2loopback and GStreamer-1.0 don't work
together at all.
good to hear that they finally do work together.


> The following, however, doesn't (I added some debugging):
[...]
> | 0:00:00.247794498  8590  0x13bd050 WARNv4l2 
> gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size:
>  Unknown frame interval type at YVYU@48x32: 0
> | 0:00:00.618841172  8590  0x13bd050 ERROR  v4l2allocator 
> gstv4l2allocator.c:1299:gst_v4l2_allocator_dqbuf:
>  buffer 1 was not queued, this indicate a driver bug.
> | 0:00:00.618972830  8590  0x13bd050 WARN basesrc 
> gstbasesrc.c:2943:gst_base_src_loop: error: Internal data flow 
> error.
> | 0:00:00.619019484  8590  0x13bd050 WARN basesrc 
> gstbasesrc.c:2943:gst_base_src_loop: error: streaming task paused, 
> reason error (-5)
> | ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal 
> data flow error.

which is *not* a crash. GStreamer just tells you that it can't play this
pipeline, and gst-launch does a controlled quit after that.

> 
>   I'm pretty sure the problem lies with v4l2loopback, since replacing
> the v4l2sink with a simple xvimagesink in both pipelines gives me the
> unaltered stream in the first case and a cropped one in the second case.
> 
>   This takes out much of the value of v4l2loopback, if I can only resend
> video as-is :-)

as v4l2loopback doesn't do any deep inspection of the video processing
(how is it supposed to know what's the original and what's the altered
stream?) the problem must lie somewhere else.

probably even with GStreamer (check the negotiated caps in both cases).

gmadsr
IOhannes





signature.asc
Description: OpenPGP digital signature


Bug#800605: v4l2loopback-dkms: Can't pipe modified video stream to a loopback device

2015-10-01 Thread Roland Mas
Package: v4l2loopback-dkms
Version: 0.9.1-2
Severity: normal

I'm trying to intercept a video stream from a webcam and crop it a bit
before passing it on for further processing.  I found v4l2loopback,
which sounds like it's exactly what I'm looking for.  However, I get
crashes as soon as I try to insert processing in the pipeline.

The following works:

,
| $ gst-launch-1.0 v4l2src device=/dev/video0 ! v4l2sink device=/dev/video1
`

(Works as in I'm able to see the video with "gst-launch-1.0 v4l2src
device=/dev/video1 ! xvimagesink")

The following, however, doesn't (I added some debugging):
,
| $ gst-launch-1.0 v4l2src device=/dev/video0 ! videocrop left=160 ! v4l2sink 
device=/dev/video1
| Setting pipeline to PAUSED ...
| Pipeline is live and does not need PREROLL ...
| Setting pipeline to PLAYING ...
| New clock: GstSystemClock
| 0:00:00.246143117  8590  0x13bd050 WARNv4l2 
gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size: 
Unknown frame interval type at YUYV@48x32: 0
| 0:00:00.246290508  8590  0x13bd050 WARNv4l2 
gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size: 
Unknown frame interval type at UYVY@48x32: 0
| 0:00:00.246359603  8590  0x13bd050 WARNv4l2 
gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size: 
Unknown frame interval type at 422P@48x32: 0
| 0:00:00.246427807  8590  0x13bd050 WARNv4l2 
gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size: 
Unknown frame interval type at YU12@48x32: 0
| 0:00:00.246493806  8590  0x13bd050 WARNv4l2 
gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size: 
Unknown frame interval type at YV12@48x32: 0
| 0:00:00.246559342  8590  0x13bd050 WARNv4l2 
gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size: 
Unknown frame interval type at 411P@48x32: 0
| 0:00:00.246627256  8590  0x13bd050 WARNv4l2 
gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size: 
Unknown frame interval type at YVU9@48x32: 0
| 0:00:00.246695596  8590  0x13bd050 WARNv4l2 
gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size: 
Unknown frame interval type at YUV9@48x32: 0
| 0:00:00.246762468  8590  0x13bd050 WARNv4l2 
gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size: 
Unknown frame interval type at JPEG@48x32: 0
| 0:00:00.246820456  8590  0x13bd050 WARNv4l2 
gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size: 
Unknown frame interval type at MJPG@48x32: 0
| 0:00:00.246877908  8590  0x13bd050 WARNv4l2 
gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size: 
Unknown frame interval type at dvsd@48x32: 0
| 0:00:00.246936149  8590  0x13bd050 WARNv4l2 
gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size: 
Unknown frame interval type at RGB4@48x32: 0
| 0:00:00.247000757  8590  0x13bd050 WARNv4l2 
gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size: 
Unknown frame interval type at BGR4@48x32: 0
| 0:00:00.247063194  8590  0x13bd050 WARNv4l2 
gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size: 
Unknown frame interval type at RGB3@48x32: 0
| 0:00:00.247125751  8590  0x13bd050 WARNv4l2 
gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size: 
Unknown frame interval type at BGR3@48x32: 0
| 0:00:00.247189433  8590  0x13bd050 WARNv4l2 
gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size: 
Unknown frame interval type at RGBP@48x32: 0
| 0:00:00.247297051  8590  0x13bd050 WARNv4l2 
gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size: 
Unknown frame interval type at RGBO@48x32: 0
| 0:00:00.247360952  8590  0x13bd050 WARNv4l2 
gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size: 
Unknown frame interval type at GREY@48x32: 0
| 0:00:00.247424629  8590  0x13bd050 WARNv4l2 
gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size: 
Unknown frame interval type at VP80@48x32: 0
| 0:00:00.247495616  8590  0x13bd050 WARNv4l2 
gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size: 
Unknown frame interval type at MPG4@48x32: 0
| 0:00:00.247555950  8590  0x13bd050 WARNv4l2 
gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size: 
Unknown frame interval type at MPG2@48x32: 0
| 0:00:00.247618681  8590  0x13bd050 WARNv4l2 
gstv4l2object.c:2167:gst_v4l2_object_probe_caps_for_format_and_size: 
Unknown frame interval type at MPG1@48x32: 0
| 0:00:00.247676672  8590  0x13bd050 WARN