diff options
author | wm4 <wm4@nowhere> | 2015-09-20 23:03:00 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-09-20 23:13:27 +0200 |
commit | 7a19eb490e3e2b525acd54e774217c64f6df41d9 (patch) | |
tree | b9682af5772481306a614dba9d8c3ac3a4b7f06e /player | |
parent | 8782354e6d275e2e92fc129d4358864312032e76 (diff) | |
download | mpv-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')
-rw-r--r-- | player/playloop.c | 3 |
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; } |