]> 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, 9 Aug 2011 10:52:18 +0000 (10:52 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Tue, 9 Aug 2011 10:52:18 +0000 (10:52 +0000)
modules/ffmpeg/producer/ffmpeg_producer.cpp

index 715b745307ff718e71d50aa4c0586f83e2ab1b0c..e430659d39317f0f3d3d9ed23f8f822b97344df9 100644 (file)
@@ -125,7 +125,7 @@ public:
                else\r
                {\r
                        if(input_.eof())\r
-                               frame =  core::basic_frame::eof();\r
+                               return frame = core::basic_frame::eof();\r
                        else\r
                        {\r
                                graph_->add_tag("underflow");   \r
@@ -190,8 +190,18 @@ public:
 \r
        virtual int64_t nb_frames() const\r
        {\r
-               auto nb_frames = input_.nb_frames() != 0 ? input_.nb_frames() : video_decoder_.nb_frames();\r
-               return loop_ ? 0 : (nb_frames + late_frames_ - start_);\r
+               if(loop_)\r
+                       return 0;\r
+\r
+               int64_t nb_frames = input_.nb_frames();\r
+\r
+               if(nb_frames == 0)\r
+                       nb_frames = video_decoder_.nb_frames();\r
+               \r
+               if(nb_frames == 0)\r
+                       nb_frames = audio_decoder_.nb_frames();\r
+               \r
+               return nb_frames + late_frames_ - start_;\r
        }\r
                                \r
        virtual std::wstring print() const\r