diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-01-05 15:24:38 +0000 |
---|---|---|
committer | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-01-05 15:24:38 +0000 |
commit | 9e1add871ebacc3844c70fec93c086c141b51794 (patch) | |
tree | e15d827a16c52709542425f7e304d32f84df1121 /libmpdemux/video.c | |
parent | e5e820981f0103abc37cfca4a1b704ffaac48f69 (diff) | |
download | mpv-9e1add871ebacc3844c70fec93c086c141b51794.tar.bz2 mpv-9e1add871ebacc3844c70fec93c086c141b51794.tar.xz |
Make ds_get_next_pts return MP_NOPTS_VALUE instead of -1 on error,
-1 could be a perfectly valid pts.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21827 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/video.c')
-rw-r--r-- | libmpdemux/video.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/libmpdemux/video.c b/libmpdemux/video.c index e1a7ae3fba..045db4fb6c 100644 --- a/libmpdemux/video.c +++ b/libmpdemux/video.c @@ -581,8 +581,8 @@ int video_read_frame(sh_video_t* sh_video,float* frame_time_ptr,unsigned char** case DEMUXER_TYPE_VIVO: case DEMUXER_TYPE_OGG: case DEMUXER_TYPE_ASF: { - float next_pts = ds_get_next_pts(d_video); - float d= next_pts > 0 ? next_pts - d_video->pts : d_video->pts-pts1; + double next_pts = ds_get_next_pts(d_video); + double d= (next_pts != MP_NOPTS_VALUE) ? next_pts - d_video->pts : d_video->pts-pts1; if(d>=0){ if(d>0){ if((int)sh_video->fps==1000) @@ -599,8 +599,8 @@ int video_read_frame(sh_video_t* sh_video,float* frame_time_ptr,unsigned char** break; case DEMUXER_TYPE_LAVF: if((int)sh_video->fps==1000 || (int)sh_video->fps<=1){ - float next_pts = ds_get_next_pts(d_video); - float d= next_pts > 0 ? next_pts - d_video->pts : d_video->pts-pts1; + double next_pts = ds_get_next_pts(d_video); + double d= (next_pts != MP_NOPTS_VALUE) ? next_pts - d_video->pts : d_video->pts-pts1; if(d>=0){ frame_time = d; } @@ -609,7 +609,7 @@ int video_read_frame(sh_video_t* sh_video,float* frame_time_ptr,unsigned char** case DEMUXER_TYPE_REAL: { double next_pts = ds_get_next_pts(d_video); - float d = next_pts > 0 ? next_pts - d_video->pts : d_video->pts - pts1; + double d = (next_pts != MP_NOPTS_VALUE) ? next_pts - d_video->pts : d_video->pts - pts1; frame_time = (d >= 0 && pts1 > 0) ? d : 0.001; } |