mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-26 00:58:12 +00:00
v4l2allocator: fix fd leak in DMABUF import mode.
Ensure gst_v4l2_buffer_pool_release_buffer() releases the associated GstV4l2MemoryGroup. In particular, this allows for closing the DMABUF handles prior to instantiating new ones. https://bugzilla.gnome.org/show_bug.cgi?id=745443
This commit is contained in:
parent
379621fd0b
commit
8cd40e77b7
1 changed files with 3 additions and 1 deletions
|
@ -1364,7 +1364,9 @@ gst_v4l2_buffer_pool_release_buffer (GstBufferPool * bpool, GstBuffer * buffer)
|
||||||
case GST_V4L2_IO_USERPTR:
|
case GST_V4L2_IO_USERPTR:
|
||||||
case GST_V4L2_IO_DMABUF_IMPORT:
|
case GST_V4L2_IO_DMABUF_IMPORT:
|
||||||
{
|
{
|
||||||
if (gst_v4l2_is_buffer_valid (buffer, NULL)) {
|
GstV4l2MemoryGroup *group;
|
||||||
|
if (gst_v4l2_is_buffer_valid (buffer, &group)) {
|
||||||
|
gst_v4l2_allocator_reset_group (pool->vallocator, group);
|
||||||
/* queue back in the device */
|
/* queue back in the device */
|
||||||
if (pool->other_pool)
|
if (pool->other_pool)
|
||||||
gst_v4l2_buffer_pool_prepare_buffer (pool, buffer, NULL);
|
gst_v4l2_buffer_pool_prepare_buffer (pool, buffer, NULL);
|
||||||
|
|
Loading…
Reference in a new issue