summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-09-20 23:03:00 +0200
committerwm4 <wm4@nowhere>2015-09-20 23:13:27 +0200
commit7a19eb490e3e2b525acd54e774217c64f6df41d9 (patch)
treeb9682af5772481306a614dba9d8c3ac3a4b7f06e
parent8782354e6d275e2e92fc129d4358864312032e76 (diff)
downloadmpv-7a19eb490e3e2b525acd54e774217c64f6df41d9.tar.bz2
mpv-7a19eb490e3e2b525acd54e774217c64f6df41d9.tar.xz
player: do not destroy VO prematurely when initializing playback
If --force-window wasn't used, this would destroy the VO while a file is still being loaded, resulting in flicker and other interruptions when switching from one playlist entry to another. Recent regression. The condition used here is pretty tricky, but it boils down to that it should trigger either in idle mode, or when loading has been fully done (at these points we definitely know whether the VO will be needed).
-rw-r--r--player/playloop.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/player/playloop.c b/player/playloop.c
index 4bd394ffda..351787d957 100644
--- a/player/playloop.c
+++ b/player/playloop.c
@@ -872,7 +872,8 @@ int handle_force_window(struct MPContext *mpctx, bool reconfig)
return 0;
if (!mpctx->opts->force_vo) {
- uninit_video_out(mpctx);
+ if (!mpctx->playing || mpctx->playback_initialized)
+ uninit_video_out(mpctx);
return 0;
}