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