]> git.sesse.net Git - casparcg/commitdiff
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches...
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Tue, 20 Mar 2012 01:04:39 +0000 (01:04 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Tue, 20 Mar 2012 01:04:39 +0000 (01:04 +0000)
modules/ffmpeg/producer/ffmpeg_producer.cpp

index 3e11dc80f3b49802b51844789d0eca02cc306f58..6cc5f396831d874a2f0a1dd9d7275e9160b56b5a 100644 (file)
@@ -154,23 +154,26 @@ public:
        \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