diff --git a/player/command.c b/player/command.c index b41f13b874..a2b2bcf233 100644 --- a/player/command.c +++ b/player/command.c @@ -7232,8 +7232,10 @@ static void command_event(struct MPContext *mpctx, int event, void *arg) ctx->marked_permanent = false; } - if (event == MPV_EVENT_PLAYBACK_RESTART) + if (event == MPV_EVENT_PLAYBACK_RESTART) { ctx->last_seek_time = mp_time_sec(); + run_command_opts(mpctx); + } if (event == MPV_EVENT_IDLE) run_command_opts(mpctx); diff --git a/player/playloop.c b/player/playloop.c index c6c4b0c7b4..ef73bdbbb8 100644 --- a/player/playloop.c +++ b/player/playloop.c @@ -1149,7 +1149,6 @@ static void handle_playback_restart(struct MPContext *mpctx) mpctx->hrseek_active = false; mpctx->restart_complete = true; mpctx->current_seek = (struct seek_params){0}; - run_command_opts(mpctx); handle_playback_time(mpctx); mp_notify(mpctx, MPV_EVENT_PLAYBACK_RESTART, NULL); update_core_idle_state(mpctx);