diff --git a/player/command.c b/player/command.c index 468a1cc901..e11f485056 100644 --- a/player/command.c +++ b/player/command.c @@ -5737,8 +5737,10 @@ void mp_option_change_callback(void *ctx, struct m_config_option *co, int flags) if ((flags & UPDATE_AUDIO) && mpctx->ao_chain) { // Force full mid-stream reinit. - reinit_audio_filters(mpctx); + if (mpctx->ao) + ao_reset(mpctx->ao); uninit_audio_out(mpctx); + reinit_audio_filters(mpctx); // mostly to issue refresh seek mp_wakeup_core(mpctx); }