diff options
Diffstat (limited to 'audio/filter')
-rw-r--r-- | audio/filter/af_lavfi.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/audio/filter/af_lavfi.c b/audio/filter/af_lavfi.c index 7f0aad2c36..ab5b8d5495 100644 --- a/audio/filter/af_lavfi.c +++ b/audio/filter/af_lavfi.c @@ -210,7 +210,7 @@ static int filter(struct af_instance *af, struct mp_audio *data, int flags) { struct priv *p = af->priv; struct mp_audio *r = af->data; - + bool eof = data->samples == 0 && (flags & AF_FILTER_FLAG_EOF); AVFilterLink *l_in = p->in->outputs[0]; AVFrame *frame = av_frame_alloc(); @@ -229,7 +229,7 @@ static int filter(struct af_instance *af, struct mp_audio *data, int flags) frame->data[n] = data->planes[n]; frame->linesize[0] = frame->nb_samples * data->sstride; - if (av_buffersrc_add_frame(p->in, frame) < 0) { + if (av_buffersrc_add_frame(p->in, eof ? NULL : frame) < 0) { av_frame_free(&frame); return -1; } |