summaryrefslogtreecommitdiffstats
path: root/core/mplayer.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-07-16 23:14:55 +0200
committerwm4 <wm4@nowhere>2013-07-16 23:14:55 +0200
commita98aad61f854d9a216675dc54096aa39767c4a35 (patch)
treef3f21cd1fcdbc38bfe58e33222446b78350125c7 /core/mplayer.c
parent130866e2693ba08f7d00c404a3767f288d0c3faa (diff)
downloadmpv-a98aad61f854d9a216675dc54096aa39767c4a35.tar.bz2
mpv-a98aad61f854d9a216675dc54096aa39767c4a35.tar.xz
core: move video refresh function to mplayer.c
Diffstat (limited to 'core/mplayer.c')
-rw-r--r--core/mplayer.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/core/mplayer.c b/core/mplayer.c
index f7a0b701dc..363d89cc53 100644
--- a/core/mplayer.c
+++ b/core/mplayer.c
@@ -2379,6 +2379,16 @@ no_video:
return 0;
}
+// Try to refresh the video by doing a precise seek to the currently displayed
+// frame. This can go wrong in all sorts of ways, so use sparingly.
+void mp_force_video_refresh(struct MPContext *mpctx)
+{
+ struct MPOpts *opts = &mpctx->opts;
+
+ if (opts->pause && mpctx->last_vo_pts != MP_NOPTS_VALUE)
+ queue_seek(mpctx, MPSEEK_ABSOLUTE, mpctx->last_vo_pts, 1);
+}
+
static void add_frame_pts(struct MPContext *mpctx, double pts)
{
if (pts == MP_NOPTS_VALUE || mpctx->hrseek_framedrop) {