From 316ddddc160de4f1e5546ef1d70d21bce5459fea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Manuel=20J=C3=A1quez=20Leal?= Date: Tue, 23 Mar 2021 09:33:49 +0100 Subject: [PATCH] va: postproc: Set one buffer in pools as minimum. Because some elements, such as videorate check that minimum are different of maximum number of buffers in the proposed pool, since they might hold one or more buffers. Part-of: --- sys/va/gstvavpp.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/sys/va/gstvavpp.c b/sys/va/gstvavpp.c index 3fa4f0643e..2851322bfd 100644 --- a/sys/va/gstvavpp.c +++ b/sys/va/gstvavpp.c @@ -543,7 +543,7 @@ gst_va_vpp_propose_allocation (GstBaseTransform * trans, return FALSE; } - pool = _create_sinkpad_bufferpool (caps, size, 0, 0, usage_hint, allocator, + pool = _create_sinkpad_bufferpool (caps, size, 1, 0, usage_hint, allocator, ¶ms); if (!pool) { gst_object_unref (allocator); @@ -555,7 +555,7 @@ gst_va_vpp_propose_allocation (GstBaseTransform * trans, else gst_query_add_allocation_param (query, allocator, ¶ms); - gst_query_add_allocation_pool (query, pool, size, 0, 0); + gst_query_add_allocation_pool (query, pool, size, 1, 0); GST_DEBUG_OBJECT (self, "proposing %" GST_PTR_FORMAT " with allocator %" GST_PTR_FORMAT, @@ -649,7 +649,8 @@ gst_va_vpp_decide_allocation (GstBaseTransform * trans, GstQuery * query) gst_video_info_init (&vinfo); gst_video_info_from_caps (&vinfo, outcaps); size = GST_VIDEO_INFO_SIZE (&vinfo); - min = max = 0; + min = 1; + max = 0; update_pool = FALSE; } @@ -1112,7 +1113,7 @@ _get_sinkpad_pool (GstVaVpp * self) allocator = _create_allocator (self, self->incaps, usage_hint); - self->sinkpad_pool = _create_sinkpad_bufferpool (self->incaps, size, 0, 0, + self->sinkpad_pool = _create_sinkpad_bufferpool (self->incaps, size, 1, 0, usage_hint, allocator, ¶ms); if (GST_IS_VA_DMABUF_ALLOCATOR (allocator)) {