diff --git a/src/module/module_sdl2.c b/src/module/module_sdl2.c index bce1e3b6477a10186a90fa27d08bbe84a9bcdb8c..8421533b22ad4f8bf115a43e60954c9fcb304c33 100644 --- a/src/module/module_sdl2.c +++ b/src/module/module_sdl2.c @@ -277,6 +277,7 @@ module_sdl2_close(struct lkt_win *const win) { RETURN_UNLESS(win && win->window, "Invalid arguments", NOTHING); struct module_sdl2_window *sdl2 = win->window; + sdl2->mpv_time_pos = (sdl2->mpv_duration = 0); RETURN_UNLESS(sdl2->mpv, "Missing mpv ctx", NOTHING); static const char *cmd[] = { "stop", NULL }; mpv_command_async((mpv_handle *) sdl2->mpv, 0, cmd); diff --git a/src/module/module_x11.c b/src/module/module_x11.c index 5852a9c4cf6cd70f0cf56bc65eb59be70694b8b1..521acfdad421a92e82e09050ac7d0403b2ed8757 100644 --- a/src/module/module_x11.c +++ b/src/module/module_x11.c @@ -200,7 +200,7 @@ module_x11_close(struct lkt_win *const win) struct module_x11_window *const x11_win = win->window; lmpv_free(&x11_win->mpv); x11_win->child_display = NULL; - x11_win->child_win = 0; + x11_win->child_win = (x11_win->mpv_time_pos = (x11_win->mpv_duration = 0)); } void diff --git a/src/module/mpv.c b/src/module/mpv.c index 492ac110f59a2a7f779bf8bcba5fd7225447707e..8d7f4354dadfe9501ea1e632887581bf38f810d9 100644 --- a/src/module/mpv.c +++ b/src/module/mpv.c @@ -151,6 +151,8 @@ loop: break; case MPV_EVENT_SHUTDOWN: + *time_pos = 0; + *time_duration = 0; database_queue_stop(db); win->close(win); return 1;