]> git.sesse.net Git - casparcg/commitdiff
2.0. ffmpeg_producer: Updated nb_frames() to take into account length even while...
authorRonag <Ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Thu, 18 Aug 2011 20:52:53 +0000 (20:52 +0000)
committerRonag <Ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Thu, 18 Aug 2011 20:52:53 +0000 (20:52 +0000)
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches/2.0.0.2@1218 362d55ac-95cf-4e76-9f9a-cbaa9c17b72d

modules/ffmpeg/producer/ffmpeg_producer.cpp

index cd438f93d530f8d5dbc073923455973b770585c3..97d95dd17866c5df3c81efe113e32062fab8b86d 100644 (file)
@@ -80,6 +80,7 @@ struct ffmpeg_producer : public core::frame_producer
        int                                                                                             late_frames_;\r
        const int                                                                               start_;\r
        const bool                                                                              loop_;\r
+       const int64_t                                                                   length_;\r
 \r
        safe_ptr<core::basic_frame>                                             last_frame_;\r
 \r
@@ -101,6 +102,7 @@ public:
                , late_frames_(0)\r
                , start_(start)\r
                , loop_(loop)\r
+               , length_(length)\r
                , last_frame_(core::basic_frame::empty())\r
                , width_(video_decoder_.width())\r
                , height_(video_decoder_.height())\r
@@ -197,7 +199,7 @@ public:
                        int64_t video_nb_frames = video_decoder_.nb_frames();\r
                        int64_t audio_nb_frames = audio_decoder_.nb_frames();\r
 \r
-                       nb_frames = std::max(nb_frames, std::max(video_nb_frames, audio_nb_frames));\r
+                       nb_frames = std::min(length_, std::max(nb_frames, std::max(video_nb_frames, audio_nb_frames)));\r
                }\r
 \r
                nb_frames = muxer_.calc_nb_frames(nb_frames);\r