diff options
Diffstat (limited to 'libavfilter/af_asyncts.c')
-rw-r--r-- | libavfilter/af_asyncts.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/libavfilter/af_asyncts.c b/libavfilter/af_asyncts.c index d3123f503e..fb3377c642 100644 --- a/libavfilter/af_asyncts.c +++ b/libavfilter/af_asyncts.c @@ -190,19 +190,14 @@ static int filter_frame(AVFilterLink *inlink, AVFilterBufferRef *buf) int out_size, ret; int64_t delta; - /* buffer data until we get the first timestamp */ - if (s->pts == AV_NOPTS_VALUE) { + /* buffer data until we get the next timestamp */ + if (s->pts == AV_NOPTS_VALUE || pts == AV_NOPTS_VALUE) { if (pts != AV_NOPTS_VALUE) { s->pts = pts - get_delay(s); } return write_to_fifo(s, buf); } - /* now wait for the next timestamp */ - if (pts == AV_NOPTS_VALUE) { - return write_to_fifo(s, buf); - } - if (s->first_pts != AV_NOPTS_VALUE) { handle_trimming(ctx); if (!avresample_available(s->avr)) |