]> git.sesse.net Git - casparcg/blobdiff - modules/ffmpeg/producer/ffmpeg_producer.cpp
2.0. layer: Pause on eof.
[casparcg] / modules / ffmpeg / producer / ffmpeg_producer.cpp
index d0f00dbd8c7449e42ed854e994b07e2e5eee2087..a8988ad753f2f3a37690d6d186fe3daee755a997 100644 (file)
@@ -81,7 +81,6 @@ struct ffmpeg_producer : public core::frame_producer
        const bool                                                                              loop_;\r
 \r
        safe_ptr<core::basic_frame>                                             last_frame_;\r
-       bool                                                                                    eof_;\r
        \r
 public:\r
        explicit ffmpeg_producer(const safe_ptr<core::frame_factory>& frame_factory, const std::wstring& filename, const std::wstring& filter, bool loop, int start, int length) \r
@@ -97,7 +96,6 @@ public:
                , start_(start)\r
                , loop_(loop)\r
                , last_frame_(core::basic_frame::empty())\r
-               , eof_(false)\r
        {\r
                graph_->add_guide("frame-time", 0.5);\r
                graph_->set_color("frame-time", diagnostics::color(1.0f, 0.0f, 0.0f));\r
@@ -109,9 +107,6 @@ public:
                        \r
        virtual safe_ptr<core::basic_frame> receive(int hints)\r
        {\r
-               if(eof_)\r
-                       return last_frame();\r
-\r
                auto frame = core::basic_frame::late();\r
                \r
                frame_timer_.restart();\r
@@ -126,10 +121,7 @@ public:
                else\r
                {\r
                        if(input_.eof())\r
-                       {\r
-                               eof_ = true;\r
-                               return last_frame();\r
-                       }\r
+                               return core::basic_frame::eof();\r
                        else\r
                        {\r
                                graph_->add_tag("underflow");   \r