]> 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>
Sun, 18 Mar 2012 13:00:36 +0000 (13:00 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Sun, 18 Mar 2012 13:00:36 +0000 (13:00 +0000)
core/producer/frame_producer.cpp
modules/ffmpeg/producer/ffmpeg_producer.cpp

index 8a0d51a84599b134c89ecdce122c7b0989c14b82..4f1cab267c4de09bb878e7e6d1351c4fc2657c3e 100644 (file)
@@ -49,7 +49,6 @@ void register_producer_factory(const producer_factory_t& factory)
 struct frame_producer_base::impl\r
 {\r
        tbb::atomic<uint32_t>   frame_number_;\r
-       tbb::atomic<bool>               paused_;\r
        frame_producer_base&    self_;\r
        draw_frame                              last_frame_;\r
 \r
@@ -58,14 +57,10 @@ struct frame_producer_base::impl
                , last_frame_(draw_frame::empty())\r
        {\r
                frame_number_ = 0;\r
-               paused_ = false;\r
        }\r
        \r
        draw_frame receive()\r
        {\r
-               if(paused_)\r
-                       return self_.last_frame();\r
-\r
                auto frame = draw_frame::push(self_.receive_impl());\r
                if(frame == draw_frame::late())\r
                        return frame;\r
@@ -74,12 +69,7 @@ struct frame_producer_base::impl
 \r
                return last_frame_ = frame;\r
        }\r
-\r
-       void paused(bool value)\r
-       {\r
-               paused_ = value;\r
-       }\r
-\r
+       \r
        draw_frame last_frame() const\r
        {\r
                return draw_frame::still(last_frame_);\r
@@ -101,7 +91,7 @@ draw_frame frame_producer_base::receive()
 \r
 void frame_producer_base::paused(bool value)\r
 {\r
-       impl_->paused(value);\r
+       BOOST_THROW_EXCEPTION(not_supported());\r
 }\r
 \r
 draw_frame frame_producer_base::last_frame() const\r
index 6d47065197377fe0f500823d8a6777260339c2b6..0fae2c58549f3f59b524b75f9c004b1ad7212132 100644 (file)
@@ -361,7 +361,7 @@ public:
                                \r
                decode_next_frame();\r
 \r
-               for(int n = 0; n < 50 && video_decoder_.file_frame_number() != target+2 && !muxer_.empty(); ++n) // TODO: +2 since a frame can be stuck inside yadif filter.\r
+               for(int n = 0; n < 25 && video_decoder_.file_frame_number() != target+2 && !muxer_.empty(); ++n) // TODO: +2 since a frame can be stuck inside yadif filter.\r
                {\r
                        muxer_.pop();\r
                        decode_next_frame();\r