GNOME Bugzilla – Bug 772905
Internal data flow error when raw video file playing piped to v4l2sink
Last modified: 2016-10-14 13:55:06 UTC
Hi, I would like to redirect a raw videofile to /dev/video1. /dev/video1 is virtual device created by v4l2loopback (https://github.com/umlaeute/v4l2loopback). The following pipeline seems ok: gst-launch-1.0 multifilesrc location=foreman_cif.yuv ! videoparse width=352 height=288 format=2 framerate=25/1 ! videoconvert ! fakesink Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock But changing it to v4l2sink device=/dev/video1, the result: gst-launch-1.0 multifilesrc location=foreman_cif.yuv ! videoparse width=352 height=288 format=2 framerate=25/1 ! videoconvert ! v4l2sink device=/dev/video1 Setting pipeline to PAUSED ... libv4l2: error getting pixformat: Invalid argument Pipeline is PREROLLING ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock ERROR: from element /GstPipeline:pipeline0/GstMultiFileSrc:multifilesrc0: Internal data flow error. Additional debug info: gstbasesrc.c(2948): gst_base_src_loop (): /GstPipeline:pipeline0/GstMultiFileSrc:multifilesrc0: streaming task paused, reason error (-5) Execution ended after 0:00:00.000594754 Setting pipeline to PAUSED ... Setting pipeline to READY ... (gst-launch-1.0:6639): GStreamer-CRITICAL **: gst_object_unref: assertion '((GObject *) object)->ref_count > 0' failed Setting pipeline to NULL ... Freeing pipeline ...
I re-tested this driver recently and it's behaviour is completely wrong. There is likely some issue with v4l2src (the assert should not happen) but fixing that won't make this broken driver works.