summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
Diffstat (limited to 'video')
-rw-r--r--video/decode/dec_video.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/video/decode/dec_video.c b/video/decode/dec_video.c
index d2479a7610..d0d7355803 100644
--- a/video/decode/dec_video.c
+++ b/video/decode/dec_video.c
@@ -211,12 +211,13 @@ struct mp_image *video_decode(struct dec_video *d_video,
{
mp_image_t *mpi = NULL;
struct MPOpts *opts = d_video->opts;
+ bool sort_pts = opts->user_pts_assoc_mode != 1 && opts->correct_pts;
double pts = packet ? packet->pts : MP_NOPTS_VALUE;
if (pts != MP_NOPTS_VALUE)
d_video->last_packet_pts = pts;
- if (opts->correct_pts && pts != MP_NOPTS_VALUE) {
+ if (sort_pts && pts != MP_NOPTS_VALUE) {
int delay = -1;
video_vd_control(d_video, VDCTRL_QUERY_UNSEEN_FRAMES, &delay);
if (delay >= 0) {
@@ -270,7 +271,7 @@ struct mp_image *video_decode(struct dec_video *d_video,
|| pts == MP_NOPTS_VALUE)
d_video->num_reordered_pts_problems++;
prevpts = d_video->sorted_pts;
- if (opts->correct_pts) {
+ if (sort_pts) {
if (d_video->num_buffered_pts) {
d_video->num_buffered_pts--;
d_video->sorted_pts =