virtual draw_frame receive(int flags) override\r
{\r
if(current_frame_ >= info_.duration)\r
+ {\r
+ source_producer_ = core::frame_producer::empty();\r
return dest_producer_->receive(flags);\r
- \r
+ }\r
+\r
+ ++current_frame_;\r
+\r
event_subject_ << monitor::event("transition/frame") % current_frame_ % info_.duration\r
<< monitor::event("transition/type") % [&]() -> std::string\r
{\r
source = source_producer_->receive(flags);\r
if(source == core::draw_frame::late())\r
source = source_producer_->last_frame();\r
- }); \r
+ }); \r
\r
- ++current_frame_;\r
-\r
- if(current_frame_ >= info_.duration)\r
- source_producer_ = core::frame_producer::empty();\r
-\r
return compose(dest, source);\r
}\r
\r