From 77f69fe099ab25acfdc5b4aa42eccbd6e904b2ca Mon Sep 17 00:00:00 2001 From: KhooLy <73142442+KhooLy@users.noreply.github.com> Date: Thu, 30 Jul 2026 19:58:41 +0300 Subject: [PATCH] fix: don't mark first frame presented while a resume seek is pending report_swap() flipped first_frame_presented as soon as any frame rendered, even the pre-seek frame 0 mpv holds while paused waiting for the resume position to land. The frontend uses that flag to dismiss the loading overlay, so resuming from continue watching flashed the video's first frame before jumping to the saved position. Gate it the same way restore_audio_after_first_presented_frame() already does. --- src-tauri/src/mpv_render/frame.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src-tauri/src/mpv_render/frame.rs b/src-tauri/src/mpv_render/frame.rs index be4f217..220c2f5 100644 --- a/src-tauri/src/mpv_render/frame.rs +++ b/src-tauri/src/mpv_render/frame.rs @@ -261,7 +261,10 @@ impl MpvRenderer { unsafe { (self.api.mpv_render_context_report_swap)(self.render_context); } - if self.frame_ready_to_restore_audio { + if self.frame_ready_to_restore_audio + && self.pending_seek_seconds.is_none() + && !self.waiting_for_seek_restart + { self.first_frame_presented = true; } self.restore_audio_after_first_presented_frame();