\r
core::draw_frame receive() override\r
{ \r
- if(paused_)\r
- return last_frame();\r
-\r
+ auto frame = core::draw_frame::late(); \r
+ \r
boost::timer frame_timer;\r
- \r
- decode_next_frame();\r
+\r
+ if(paused_)\r
+ frame = last_frame(); \r
+ else\r
+ { \r
+ decode_next_frame();\r
\r
- auto frame = core::draw_frame::late(); \r
- if(!muxer_.empty())\r
- {\r
- last_frame_ = frame = std::move(muxer_.front());\r
- muxer_.pop();\r
+ if(!muxer_.empty())\r
+ {\r
+ last_frame_ = frame = std::move(muxer_.front());\r
+ muxer_.pop();\r
\r
- ++frame_number_; \r
+ ++frame_number_; \r
+ }\r
+ else \r
+ graph_->set_tag("underflow");\r
}\r
- else \r
- graph_->set_tag("underflow"); \r
\r
graph_->set_value("frame-time", frame_timer.elapsed()*format_desc_.fps*0.5);\r
event_subject_ << monitor::event("profiler/time") % frame_timer.elapsed() % (1.0/format_desc_.fps); \r