diff --git a/libavfilter/af_asyncts.c b/libavfilter/af_asyncts.c index d6d893210c..40680c8559 100644 --- a/libavfilter/af_asyncts.c +++ b/libavfilter/af_asyncts.c @@ -215,7 +215,8 @@ static int filter_frame(AVFilterLink *inlink, AVFilterBufferRef *buf) delta = pts - s->pts - get_delay(s); out_size = avresample_available(s->avr); - if (labs(delta) > s->min_delta || (s->first_frame && delta)) { + if (labs(delta) > s->min_delta || + (s->first_frame && delta && s->first_pts != AV_NOPTS_VALUE)) { av_log(ctx, AV_LOG_VERBOSE, "Discontinuity - %"PRId64" samples.\n", delta); out_size = av_clipl_int32((int64_t)out_size + delta); } else {