[FFmpeg-devel] [PATCH] af_tempo.c: fix checking of samples and zero frame counts
Rajiv Harlalka
rajivharlalka009 at gmail.com
Fri Mar 8 01:04:21 EET 2024
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 <rajivharlalka009 at 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
More information about the ffmpeg-devel
mailing list