Index: src/highgui/cvcap_ffmpeg.cpp =================================================================== --- src/highgui/cvcap_ffmpeg.cpp (revision 2862) +++ src/highgui/cvcap_ffmpeg.cpp (working copy) @@ -620,15 +620,21 @@ switch( property_id ) { case CV_CAP_PROP_POS_MSEC: + if(video_st->parser && video_st->parser->dts != AV_NOPTS_VALUE_) + return (((double)video_st->parser->dts-1) *1000.0f) * av_q2d (video_st->time_base); if(video_st->cur_dts != AV_NOPTS_VALUE_) return (((double)video_st->cur_dts-1) *1000.0f * av_q2d (video_st->time_base)); // return (((double)video_st->cur_dts-1) *1000) / av_q2d (video_st->r_frame_rate); break; case CV_CAP_PROP_POS_FRAMES: + if(video_st->parser && video_st->parser->dts != AV_NOPTS_VALUE_) + return (double)video_st->parser->dts-1; if(video_st->cur_dts != AV_NOPTS_VALUE_) return (double)video_st->cur_dts-1; break; case CV_CAP_PROP_POS_AVI_RATIO: + if(video_st->parser && video_st->parser->dts != AV_NOPTS_VALUE_) + return (double)(video_st->parser->dts-1)/(double)video_st->duration; if(video_st->cur_dts != AV_NOPTS_VALUE_ && video_st->duration != AV_NOPTS_VALUE_) return (double)(video_st->cur_dts-1)/(double)video_st->duration; break;