Problem: I am using /gst_element_query_position/ to "auto-pause" my pipeline.
Unfortunately, this query fails often with the following setup, rendering my auto-pausing function useless and I am having a time debugging it. I am using v4l2loopback <https://github.com/umlaeute/v4l2loopback> to spoof a video device (/dev/video2). I get the WARN when I use the following consumer GST_DEBUG=3 gst-launch-1.0 v4l2src /dev/video2 num-buffers=10 ! video/x-raw,format=GRAY16_LE,width=1280,height=1024,framerate=30/1 ! filesink location=/tmp/hi 0:00:00.015961152 20123 0x559c310fcf70 INFO v4l2 gstv4l2object.c:1204:gst_v4l2_object_fill_format_list:<v4l2src0:src> Y16 0:00:00.015978975 20123 0x559c310fcf70 INFO v4l2 gstv4l2object.c:4238:gst_v4l2_object_probe_caps:<v4l2src0:src> probed caps: video/x-raw, format=(string)GRAY16_LE, width=(int)1280, height=(int)1024, framerate=(fraction)30/1 0:00:00.016012282 20123 0x559c310fcf70 INFO v4l2 gstv4l2object.c:2933:gst_v4l2_object_setup_pool:<v4l2src0:src> accessing buffers via mode 2 0:00:00.016080515 20123 0x559c310fcf70 INFO v4l2bufferpool gstv4l2bufferpool.c:557:gst_v4l2_buffer_pool_set_config:<v4l2src0:pool:src> increasing minimum buffers to 2 0:00:00.016086436 20123 0x559c310fcf70 INFO v4l2bufferpool gstv4l2bufferpool.c:570:gst_v4l2_buffer_pool_set_config:<v4l2src0:pool:src> reducing maximum buffers to 32 0:00:00.016090271 20123 0x559c310fcf70 INFO v4l2bufferpool gstv4l2bufferpool.c:581:gst_v4l2_buffer_pool_set_config:<v4l2src0:pool:src> can't allocate, setting maximum to minimum 0:00:00.012290921 21675 0x560569f3e370 WARN v4l2bufferpool gstv4l2bufferpool.c:790:gst_v4l2_buffer_pool_start:<v4l2src0:pool:src> Uncertain or not enough buffers, enabling copy threshold I confirmed that the same pipeline with videotestsrc does not throw WARNINGS, so this is only related to the v4l2src element and presumably the driver/producer. GST_DEBUG=3 gst-launch-1.0 videotestsrc num-buffers=10 ! video/x-raw,format=GRAY16_LE,width=1280,height=1024,framerate=30/1 ! filesink location=/tmp/hi # no problems I am inserting the loopback driver using the following /sudo modprobe v4l2loopback video_nr=2/ The producer is simply opening /dev/video2 and writing data to it frame by frame on a loop. I know this driver works because if I create a v4l2src-to-filesink pipeline and md5sum the resulting frames they match. Tried: blocksize, adding queues -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |