]> git.sesse.net Git - casparcg/commitdiff
2.0.2: ffmpeg_producer: Improved nb_frames accuracy.
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Sun, 27 Nov 2011 19:30:59 +0000 (19:30 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Sun, 27 Nov 2011 19:30:59 +0000 (19:30 +0000)
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches/2.0.2@1686 362d55ac-95cf-4e76-9f9a-cbaa9c17b72d

modules/ffmpeg/producer/util/util.cpp

index 7cdd05384dcc5b8fdb59d01b625dd6ed9ecd597c..c1198d015d1a316a4a693064d5a9660ed9cda379 100644 (file)
@@ -288,10 +288,6 @@ void fix_meta_data(AVFormatContext& context)
        {\r
                auto video_context = context.streams[video_index]->codec;\r
                auto video_stream  = context.streams[video_index];\r
-\r
-               auto nb_frames = static_cast<double>(video_stream->duration*video_stream->time_base.num)/static_cast<double>(video_stream->time_base.den);\r
-               nb_frames = (nb_frames*video_context->time_base.den)/video_context->time_base.num;\r
-               video_stream->nb_frames = static_cast<int64_t>(nb_frames+0.5);\r
                                                \r
                if(boost::filesystem2::path(context.filename).extension() == ".flv")\r
                {\r
@@ -346,6 +342,10 @@ void fix_meta_data(AVFormatContext& context)
                        //}\r
                }\r
 \r
+               auto nb_frames = static_cast<double>(video_stream->duration*video_stream->time_base.num)/static_cast<double>(video_stream->time_base.den);\r
+               nb_frames = (nb_frames*video_context->time_base.den)/video_context->time_base.num;\r
+               video_stream->nb_frames = static_cast<int64_t>(nb_frames+0.5);\r
+\r
                double fps = static_cast<double>(video_context->time_base.den) / static_cast<double>(video_context->time_base.num);\r
 \r
                double closest_fps = 0.0;\r