avfilter/af_afftfilt: use first input frame timestamp
authorPaul B Mahol <onemda@gmail.com>
Mon, 12 Nov 2018 11:30:37 +0000 (12:30 +0100)
committerPaul B Mahol <onemda@gmail.com>
Mon, 12 Nov 2018 11:35:24 +0000 (12:35 +0100)
libavfilter/af_afftfilt.c

index 150f8ed..8518f08 100644 (file)
@@ -142,6 +142,7 @@ static int config_input(AVFilterLink *inlink)
     char *args;
     const char *last_expr = "1";
 
+    s->pts  = AV_NOPTS_VALUE;
     s->fft  = av_fft_init(s->fft_bits, 0);
     s->ifft = av_fft_init(s->fft_bits, 1);
     if (!s->fft || !s->ifft)
@@ -251,6 +252,9 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
     int ch, n, ret, i, j, k;
     int start = s->start, end = s->end;
 
+    if (s->pts == AV_NOPTS_VALUE)
+        s->pts = frame->pts;
+
     ret = av_audio_fifo_write(s->fifo, (void **)frame->extended_data, frame->nb_samples);
     av_frame_free(&frame);
     if (ret < 0)