The decoder is not being access from multiple threads, instead it is always protected by the streaming lock. For this reason, a GstAtomicQueue for the request pool is overkill and may even introduce unneeded overhead. Use a GstQueueArray in replacement, the GstQueueArray is a good fit since the number of item is predictable and unlikely to vary at run-time. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1395>