<< monitor::event("file/path") % filename_\r
<< monitor::event("loop") % input_.loop();\r
\r
- if(frame == core::draw_frame::late())\r
- return frame;\r
- else if(input_.eof())\r
- return last_frame();\r
- else\r
- return last_frame_ = frame;\r
+ if(frame == core::draw_frame::late() && input_.eof())\r
+ return last_frame();\r
+ \r
+ if(frame != core::draw_frame::late())\r
+ last_frame_ = frame;\r
+ \r
+ return frame;\r
}\r
\r
core::draw_frame last_frame() const override\r
video_decoder_.clear();\r
audio_decoder_.clear();\r
\r
- target = std::min(target, file_nb_frames()-3);\r
+ //target = std::min(target, file_nb_frames()-8);\r
\r
input_.seek(target);\r
\r
decode_next_frame();\r
-\r
- for(int n = 0; n < 25 && video_decoder_.file_frame_number() != target+2 && !muxer_.empty(); ++n) // TODO: +2 since a frame can be stuck inside yadif filter.\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