summaryrefslogtreecommitdiffstats
path: root/video/decode
diff options
context:
space:
mode:
Diffstat (limited to 'video/decode')
-rw-r--r--video/decode/dec_video.c8
-rw-r--r--video/decode/dec_video.h3
2 files changed, 6 insertions, 5 deletions
diff --git a/video/decode/dec_video.c b/video/decode/dec_video.c
index 402bb805ef..1802e19fbf 100644
--- a/video/decode/dec_video.c
+++ b/video/decode/dec_video.c
@@ -69,7 +69,6 @@ void video_reset_decoding(struct dec_video *d_video)
d_video->codec_dts = MP_NOPTS_VALUE;
d_video->sorted_pts = MP_NOPTS_VALUE;
d_video->unsorted_pts = MP_NOPTS_VALUE;
- d_video->pts = MP_NOPTS_VALUE;
}
int video_vd_control(struct dec_video *d_video, int cmd, void *arg)
@@ -358,9 +357,14 @@ struct mp_image *video_decode(struct dec_video *d_video,
pts += frame_time;
}
+ if (d_video->decoded_pts != MP_NOPTS_VALUE && pts < d_video->decoded_pts) {
+ mp_msg(MSGT_DECVIDEO, MSGL_WARN, "Decreasing video pts: %f < %f\n",
+ pts, d_video->decoded_pts);
+ pts = d_video->decoded_pts;
+ }
+
mpi->pts = pts;
d_video->decoded_pts = pts;
- d_video->pts = pts;
return mpi;
}
diff --git a/video/decode/dec_video.h b/video/decode/dec_video.h
index 9117fceefd..d411717a32 100644
--- a/video/decode/dec_video.h
+++ b/video/decode/dec_video.h
@@ -65,9 +65,6 @@ struct dec_video {
// Final PTS of previously decoded image
double decoded_pts;
- // PTS of the last decoded frame (often overwritten by player)
- double pts;
-
float stream_aspect; // aspect ratio in media headers (DVD IFO files)
int i_bps; // == bitrate (compressed bytes/sec)
float fps; // FPS from demuxer or from user override