Check for zeros equal to the total samples early, because in case the check is true we would already be leaving the first few frames out.
Signed-off-by: Rajiv Harlalka <rajivharlalka...@gmail.com> #10692 --- libavfilter/af_atempo.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/libavfilter/af_atempo.c b/libavfilter/af_atempo.c index 4621b67b03..8f31c5beaf 100644 --- a/libavfilter/af_atempo.c +++ b/libavfilter/af_atempo.c @@ -531,21 +531,20 @@ static int yae_load_frag(ATempoContext *atempo, dst = frag->data; start = atempo->position[0] - atempo->size; - zeros = 0; + // what we don't have we substitute with zeros: + zeros = frag->position[0] < start ? FFMIN(start - frag->position[0], (int64_t)nsamples) : 0; + + if (zeros == nsamples) { + return 0; + } if (frag->position[0] < start) { - // what we don't have we substitute with zeros: - zeros = FFMIN(start - frag->position[0], (int64_t)nsamples); av_assert0(zeros != nsamples); memset(dst, 0, zeros * atempo->stride); dst += zeros * atempo->stride; } - if (zeros == nsamples) { - return 0; - } - // get the remaining data from the ring buffer: na = (atempo->head < atempo->tail ? atempo->tail - atempo->head : -- 2.44.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".