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