···350350 );
351351 videoElement.addEventListener("timeupdate", () => {
352352 const currentTime = videoElement?.currentTime ?? 0;
353353- // Only emit time if it's progressing forward or if we're seeking
353353+ // Always emit time updates when seeking to prevent subtitle freezing
354354+ // Also emit when progressing forward or when time changes significantly
354355 // This prevents time from resetting to 0 during source switches
355355- if (currentTime >= lastValidTime || isSeeking) {
356356+ if (
357357+ currentTime >= lastValidTime ||
358358+ isSeeking ||
359359+ Math.abs(currentTime - lastValidTime) > 0.1
360360+ ) {
356361 lastValidTime = currentTime;
357362 emit("time", currentTime);
358363 }