diff options
author | Anton Khirnov <anton@khirnov.net> | 2022-10-04 12:51:41 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2022-10-13 10:19:13 +0200 |
commit | 476c90c2072f406fb3306f27030dd9c8c69b5441 (patch) | |
tree | 223dd69a6ec7ca696a3754d9ffe117e5bf1cc64e | |
parent | 3ce161610647e034e7d42caeb192ae0653bdffe6 (diff) | |
download | ffmpeg-476c90c2072f406fb3306f27030dd9c8c69b5441.tar.gz |
lavfi/f_drawgraph: forward input frame durations
-rw-r--r-- | libavfilter/f_drawgraph.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libavfilter/f_drawgraph.c b/libavfilter/f_drawgraph.c index 000255fc52..d29a7fb60a 100644 --- a/libavfilter/f_drawgraph.c +++ b/libavfilter/f_drawgraph.c @@ -168,7 +168,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) AVDictionaryEntry *e; AVFrame *out = s->out; AVFrame *clone = NULL; - int64_t in_pts, out_pts; + int64_t in_pts, out_pts, in_duration; int i; if (s->slide == 4 && s->nb_values >= s->values_size[0] / sizeof(float)) { @@ -320,6 +320,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) s->x++; in_pts = in->pts; + in_duration = in->duration; av_frame_free(&in); @@ -336,6 +337,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) return AVERROR(ENOMEM); clone->pts = s->prev_pts = out_pts; + clone->duration = av_rescale_q(in_duration, inlink->time_base, outlink->time_base); return ff_filter_frame(outlink, clone); } |