}\r
else\r
{\r
+ if(video_stream.nb_frames == 0)\r
+ video_stream.nb_frames = (video_stream.duration*video_stream.time_base.num)/video_stream.time_base.den;\r
+ \r
if(video_stream.nb_frames == 0)\r
video_stream.nb_frames = video_stream.duration;\r
\r
+ video_context.time_base.num *= video_context.ticks_per_frame;\r
+\r
if(!is_sane_fps(video_context.time_base))\r
{ \r
video_context.time_base = fix_time_base(video_context.time_base);\r
}\r
}\r
\r
- if(audio_index > -1) // Check for invalid double frame-rate\r
- {\r
- auto& audio_context = *context.streams[audio_index]->codec;\r
- auto& audio_stream = *context.streams[audio_index];\r
-\r
- double duration_sec = audio_stream.duration / static_cast<double>(audio_context.sample_rate);\r
- double fps = static_cast<double>(video_context.time_base.den) / static_cast<double>(video_context.time_base.num);\r
-\r
- double fps_nb_frames = static_cast<double>(duration_sec*fps);\r
- double stream_nb_frames = static_cast<double>(video_stream.nb_frames);\r
- double diff = std::abs(fps_nb_frames - stream_nb_frames*2.0);\r
- if(diff < fps_nb_frames*0.05)\r
- video_context.time_base.num *= 2;\r
- }\r
- else\r
- {\r
- video_context.time_base.den = video_stream.r_frame_rate.num;\r
- video_context.time_base.num = video_stream.r_frame_rate.den;\r
- }\r
+ //if(audio_index > -1) // Check for invalid double frame-rate\r
+ //{\r
+ // auto& audio_context = *context.streams[audio_index]->codec;\r
+ // auto& audio_stream = *context.streams[audio_index];\r
+ // \r
+ // double duration_sec = audio_stream.duration / static_cast<double>(audio_context.sample_rate);\r
+ // double fps = static_cast<double>(video_context.time_base.den) / static_cast<double>(video_context.time_base.num);\r
+\r
+ // double fps_nb_frames = static_cast<double>(duration_sec*fps);\r
+ // double stream_nb_frames = static_cast<double>(video_stream.nb_frames);\r
+ // double diff = std::abs(fps_nb_frames - stream_nb_frames*2.0);\r
+ // if(diff < fps_nb_frames*0.05)\r
+ // video_context.time_base.num *= 2;\r
+ //}\r
+ //else\r
+ //{\r
+ // video_context.time_base.den = video_stream.r_frame_rate.num;\r
+ // video_context.time_base.num = video_stream.r_frame_rate.den;\r
+ //}\r
}\r
\r
double fps = static_cast<double>(video_context.time_base.den) / static_cast<double>(video_context.time_base.num);\r