From 502763fcc76cf36f11ed6c73d944699270568235 Mon Sep 17 00:00:00 2001 From: wm4 Date: Tue, 26 Jan 2016 14:06:41 +0100 Subject: video: slightly improve video stream switching Resync newly switched video streams to the current playback position. (Normal seeks will reset playback_pts to NOPTS.) --- player/video.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'player/video.c') diff --git a/player/video.c b/player/video.c index 67bf1385aa..c247629ed3 100644 --- a/player/video.c +++ b/player/video.c @@ -726,6 +726,11 @@ static int video_output_image(struct MPContext *mpctx, double endpts) /* just skip - but save if backstep active */ if (mpctx->hrseek_backstep) mp_image_setrefp(&mpctx->saved_frame, img); + } else if (mpctx->video_status == STATUS_SYNCING && + mpctx->playback_pts != MP_NOPTS_VALUE && + img->pts < mpctx->playback_pts) + { + /* skip after stream-switching */ } else { if (hrseek && mpctx->hrseek_backstep) { if (mpctx->saved_frame) { -- cgit v1.2.3