diff --git a/libmpdemux/video.c b/libmpdemux/video.c index 6cca94fc7c..40e7689e6d 100644 --- a/libmpdemux/video.c +++ b/libmpdemux/video.c @@ -598,7 +598,6 @@ int video_read_frame(sh_video_t* sh_video,float* frame_time_ptr,unsigned char** } } break; - case DEMUXER_TYPE_REAL: case DEMUXER_TYPE_LAVF: if((int)sh_video->fps==1000 || (int)sh_video->fps<=1){ float next_pts = ds_get_next_pts(d_video); @@ -608,6 +607,14 @@ int video_read_frame(sh_video_t* sh_video,float* frame_time_ptr,unsigned char** } } break; + case DEMUXER_TYPE_REAL: + { + float next_pts = ds_get_next_pts(d_video); + float d = next_pts > 0 ? next_pts - d_video->pts : d_video->pts - pts1; + + frame_time = (d >= 0) ? d : 0.001; + } + break; } if(demuxer->file_format==DEMUXER_TYPE_MPEG_PS ||