summaryrefslogtreecommitdiffstats
path: root/player/playloop.c
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 /player/playloop.c
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).
Diffstat (limited to 'player/playloop.c')
-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;
}