From ee8d2ece7b408d0c82908f65b5c38c6c1e5d2def Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E4=BA=9A=E7=A3=8A=20via=20ffmpeg-devel?= Date: Thu, 14 Sep 2023 13:22:13 +0000 Subject: [PATCH] lavfi/framequeue: remove redundant logic code In this logical branch, fq->queued and fq->allocated must be equal. Deleting this code will make it easier to understand the logic (copy the data before tail to the newly requested space) Signed-off-by: yangyalei --- libavfilter/framequeue.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libavfilter/framequeue.c b/libavfilter/framequeue.c index 383c195b85..ace0dad689 100644 --- a/libavfilter/framequeue.c +++ b/libavfilter/framequeue.c @@ -79,9 +79,8 @@ int ff_framequeue_add(FFFrameQueue *fq, AVFrame *frame) FFFrameBucket *nq = av_realloc_array(fq->queue, na, sizeof(*nq)); if (!nq) return AVERROR(ENOMEM); - if (fq->tail + fq->queued > fq->allocated) - memmove(nq + fq->allocated, nq, - (fq->tail + fq->queued - fq->allocated) * sizeof(*nq)); + if (fq->tail) + memmove(nq + fq->allocated, nq, fq->tail * sizeof(*nq)); fq->queue = nq; fq->allocated = na; }