diff options
Diffstat (limited to 'apps/web/src/components/ui/video-player.tsx')
| -rw-r--r-- | apps/web/src/components/ui/video-player.tsx | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/apps/web/src/components/ui/video-player.tsx b/apps/web/src/components/ui/video-player.tsx index f489f70a..32a12916 100644 --- a/apps/web/src/components/ui/video-player.tsx +++ b/apps/web/src/components/ui/video-player.tsx @@ -34,7 +34,8 @@ export function VideoPlayer({ const video = videoRef.current; if (!video || !isInClipRange) return; - const handleSeek = (e: CustomEvent) => { + const handleSeekEvent = (e: CustomEvent) => { + // Always update video time, even if outside clip range const timelineTime = e.detail.time; const videoTime = Math.max(trimStart, Math.min( clipDuration - trimEnd, @@ -43,7 +44,8 @@ export function VideoPlayer({ video.currentTime = videoTime; }; - const handleUpdate = (e: CustomEvent) => { + const handleUpdateEvent = (e: CustomEvent) => { + // Always update video time, even if outside clip range const timelineTime = e.detail.time; const targetTime = Math.max(trimStart, Math.min( clipDuration - trimEnd, @@ -59,13 +61,13 @@ export function VideoPlayer({ video.playbackRate = e.detail.speed; }; - window.addEventListener("playback-seek", handleSeek as EventListener); - window.addEventListener("playback-update", handleUpdate as EventListener); + window.addEventListener("playback-seek", handleSeekEvent as EventListener); + window.addEventListener("playback-update", handleUpdateEvent as EventListener); window.addEventListener("playback-speed", handleSpeed as EventListener); return () => { - window.removeEventListener("playback-seek", handleSeek as EventListener); - window.removeEventListener("playback-update", handleUpdate as EventListener); + window.removeEventListener("playback-seek", handleSeekEvent as EventListener); + window.removeEventListener("playback-update", handleUpdateEvent as EventListener); window.removeEventListener("playback-speed", handleSpeed as EventListener); }; }, [clipStartTime, trimStart, trimEnd, clipDuration, isInClipRange]); |
