diff options
Diffstat (limited to 'player/command.c')
-rw-r--r-- | player/command.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/player/command.c b/player/command.c index 066e8be784..098a11d24f 100644 --- a/player/command.c +++ b/player/command.c @@ -6525,6 +6525,16 @@ void mp_option_change_callback(void *ctx, struct m_config_option *co, int flags, mpctx->ipc_ctx = mp_init_ipc(mpctx->clients, mpctx->global); } + if (opt_ptr == &opts->vo->video_driver_list) { + struct track *track = mpctx->current_track[0][STREAM_VIDEO]; + uninit_video_out(mpctx); + reinit_video_chain(mpctx); + if (track) + reselect_demux_stream(mpctx, track, true); + + mp_wakeup_core(mpctx); + } + if (flags & UPDATE_AUDIO) reload_audio_output(mpctx); |