summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavfilter/af_asyncts.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/libavfilter/af_asyncts.c b/libavfilter/af_asyncts.c
index faefdf4be7..d6d893210c 100644
--- a/libavfilter/af_asyncts.c
+++ b/libavfilter/af_asyncts.c
@@ -196,19 +196,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))