[FFmpeg-cvslog] avfilter/af_loudnorm: correctly initialize PTS

Niklas Haas git at videolan.org
Wed Feb 14 19:13:48 EET 2018


ffmpeg | branch: master | Niklas Haas <git at haasn.xyz> | Sat Feb  3 15:22:05 2018 +0100| [7c82e0f61e365296b094684fd92aea0fe05ceb93] | committer: Paul B Mahol

avfilter/af_loudnorm: correctly initialize PTS

Right now, the PTS always starts out as 0, which causes problems on a
seek or when inserting this filter mid-stream.

Initialize it instead to AV_NOPTS_VALUE and copy the PTS from the first
frame instead if this is the case.

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

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

diff --git a/libavfilter/af_loudnorm.c b/libavfilter/af_loudnorm.c
index a7f11cbe6e..314b25fa39 100644
--- a/libavfilter/af_loudnorm.c
+++ b/libavfilter/af_loudnorm.c
@@ -431,6 +431,9 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
         av_frame_copy_props(out, in);
     }
 
+    if (s->pts == AV_NOPTS_VALUE)
+        s->pts = in->pts;
+
     out->pts = s->pts;
     src = (const double *)in->data[0];
     dst = (double *)out->data[0];
@@ -763,7 +766,7 @@ static int config_input(AVFilterLink *inlink)
         inlink->partial_buf_size = frame_size(inlink->sample_rate, 3000);
     }
 
-    s->pts =
+    s->pts = AV_NOPTS_VALUE;
     s->buf_index =
     s->prev_buf_index =
     s->limiter_buf_index = 0;



More information about the ffmpeg-cvslog mailing list