[gegl/video-rejuvenation: 54/83] ff-load: flush buffers after seek



commit 4f8d4dfa86358a626c8e1b8d3dc36f82c6c1299b
Author: Øyvind Kolås <pippin gimp org>
Date:   Wed Nov 11 00:00:32 2015 +0100

    ff-load: flush buffers after seek

 operations/external/ff-load.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
---
diff --git a/operations/external/ff-load.c b/operations/external/ff-load.c
index eb71feb..c3c4f24 100644
--- a/operations/external/ff-load.c
+++ b/operations/external/ff-load.c
@@ -333,6 +333,8 @@ decode_frame (GeglOperation *operation,
     int64_t seek_target = av_rescale_q ((frame - 16) / o->frame_rate * AV_TIME_BASE, AV_TIME_BASE_Q, 
p->video_stream->time_base);
     if (av_seek_frame (p->video_fcontext, p->video_index, seek_target, (AVSEEK_FLAG_BACKWARD )) < 0)
       fprintf (stderr, "video seek error!\n");
+   else
+      avcodec_flush_buffers (p->video_stream->codec);
   }
 
   do
@@ -410,6 +412,7 @@ prepare (GeglOperation *operation)
         {
           print_error (o->path, err);
         }
+      fprintf (stderr, "[%lu]\n", p->video_fcontext->start_time_realtime);
       err = avformat_find_stream_info (p->video_fcontext, NULL);
       if (err < 0)
         {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]