queues: Should influence the number of allocated buffers when possible
Submitted by Nicolas Dufresne
As of now, queues completely ignore the allocation query. Though, for sized queue to work properly, you need enough buffers to be allocated. So far, most of the time this worked because the buffers pools can grow, or dynamic allocation is being used. In this bug report, I'm suggesting that queues, when they are configured with size in number of buffers, should influence the allocation query to ensure that they are useful and that their thread does not cause contention or starvation. Here's an example of starvation cause by queues (requires a driver that do not implement VIDIOC_CREATE_BUFS):
gst-launch-1.0 v4l2src device=/dev/video1 ! queue min-threshold-buffers=10 ! glimagesink sync=0
p.s. This case should also try and increase the latency, worked around using sync=0 here.