[FFmpeg-cvslog] lavfi/f_drawgraph: forward input frame durations

Anton Khirnov git at videolan.org
Thu Oct 13 11:21:17 EEST 2022


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Tue Oct  4 12:51:41 2022 +0200| [476c90c2072f406fb3306f27030dd9c8c69b5441] | committer: Anton Khirnov

lavfi/f_drawgraph: forward input frame durations

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=476c90c2072f406fb3306f27030dd9c8c69b5441
---

 libavfilter/f_drawgraph.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

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);
 }
 



More information about the ffmpeg-cvslog mailing list