summaryrefslogtreecommitdiff
path: root/apps/web/src/components/ui/video-player.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'apps/web/src/components/ui/video-player.tsx')
-rw-r--r--apps/web/src/components/ui/video-player.tsx14
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]);