gldmabufferpool: disable "free cache" workaround in GstGLBufferPool

This pool isn't reusing its buffers, which makes it pointless to enable
the cache

Holding an extra  buffer in free queue can also lead to a deadlock when
the pool's max buffer count is configured low (commonly 2).

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8939>
This commit is contained in:
Jakub Adam 2025-04-10 13:48:58 +02:00 committed by GStreamer Marge Bot
parent d40619ddbe
commit f9941b135f

View File

@ -112,6 +112,14 @@ gst_gl_dmabuf_buffer_pool_set_config (GstBufferPool * pool,
g_clear_pointer (&glparams, gst_gl_allocation_params_free); g_clear_pointer (&glparams, gst_gl_allocation_params_free);
} }
/*
* This pool isn't reusing its buffers, which makes it pointless to enable
* "free cache" workaround in GstGLBufferPool base class. Holding an extra
* buffer in free queue can also lead to a deadlock when the pool's max buffer
* count is configured low (commonly 2).
*/
gst_buffer_pool_config_set_gl_min_free_queue_size (config, 0);
self->priv->add_glsyncmeta = gst_buffer_pool_config_has_option (config, self->priv->add_glsyncmeta = gst_buffer_pool_config_has_option (config,
GST_BUFFER_POOL_OPTION_GL_SYNC_META); GST_BUFFER_POOL_OPTION_GL_SYNC_META);