WARN Uncertain or not enough buffers, enabling copy threshold

mdb mikeybards at gmail.com
Tue Apr 20 13:18:07 UTC 2021


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/


More information about the gstreamer-devel mailing list