[FFmpeg-cvslog] avfilter/vf_fps: Do not drop a random subset of frames

Michael Niedermayer git at videolan.org
Wed Feb 4 18:59:24 CET 2015


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Wed Feb  4 17:46:39 2015 +0100| [7f02fcd91774818ad36cafde44aefe8924aa15b7] | committer: Michael Niedermayer

avfilter/vf_fps: Do not drop a random subset of frames

This also avoids droping the frame which is closest to the target timestamp

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libavfilter/vf_fps.c |    5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/libavfilter/vf_fps.c b/libavfilter/vf_fps.c
index a38633d..25dd831 100644
--- a/libavfilter/vf_fps.c
+++ b/libavfilter/vf_fps.c
@@ -214,17 +214,14 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *buf)
 
     if (delta < 1) {
         /* drop the frame and everything buffered except the first */
-        AVFrame *tmp;
         int drop = av_fifo_size(s->fifo)/sizeof(AVFrame*);
 
         av_log(ctx, AV_LOG_DEBUG, "Dropping %d frame(s).\n", drop);
         s->drop += drop;
 
-        av_fifo_generic_read(s->fifo, &tmp, sizeof(tmp), NULL);
         flush_fifo(s->fifo);
-        ret = write_to_fifo(s->fifo, tmp);
+        ret = write_to_fifo(s->fifo, buf);
 
-        av_frame_free(&buf);
         return ret;
     }
 



More information about the ffmpeg-cvslog mailing list