]> git.sesse.net Git - casparcg/commitdiff
2.1.0: -ffmpeg_producer: Hack fix for seeking, needs a closer look.
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Sun, 18 Mar 2012 19:44:44 +0000 (19:44 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Sun, 18 Mar 2012 19:44:44 +0000 (19:44 +0000)
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches/2.1.0@2672 362d55ac-95cf-4e76-9f9a-cbaa9c17b72d

modules/ffmpeg/producer/ffmpeg_producer.cpp

index 3283b3d256d131e554ff78f219477bfb4abcafb5..e07d29e1dbaba7bb8cf5c58e19bb9c8f4fa83c5c 100644 (file)
@@ -356,17 +356,20 @@ public:
                video_decoder_.clear();\r
                audio_decoder_.clear();\r
                        \r
-               //target = std::min(target, file_nb_frames()-8);\r
+               target = std::min(target, file_nb_frames()-25);\r
 \r
                input_.seek(target);\r
                                \r
                decode_next_frame();\r
-               for(int n = 0; n < 8 && !muxer_.empty(); ++n) // TODO: +2 since a frame can be stuck inside yadif filter.\r
-               {\r
-                       muxer_.pop();\r
-                       decode_next_frame();\r
-               }\r
-               \r
+               decode_next_frame();\r
+               decode_next_frame();\r
+               decode_next_frame();\r
+               decode_next_frame();\r
+               decode_next_frame();\r
+               muxer_.clear();\r
+               decode_next_frame();\r
+               decode_next_frame();\r
+\r
                last_frame_ = !muxer_.empty() ? muxer_.front() : last_frame_;                   \r
        }\r
 \r