diff options
-rw-r--r-- | libavfilter/f_loop.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libavfilter/f_loop.c b/libavfilter/f_loop.c index d8eb692e77..00e02154e8 100644 --- a/libavfilter/f_loop.c +++ b/libavfilter/f_loop.c @@ -88,8 +88,10 @@ static int push_samples(AVFilterContext *ctx, int nb_samples) if (!out) return AVERROR(ENOMEM); ret = av_audio_fifo_peek_at(s->fifo, (void **)out->extended_data, out->nb_samples, s->current_sample); - if (ret < 0) + if (ret < 0) { + av_frame_free(&out); return ret; + } out->pts = s->pts; out->nb_samples = ret; s->pts += out->nb_samples; |