diff --git a/web/src/components/player/PreviewPlayer.tsx b/web/src/components/player/PreviewPlayer.tsx index 35be407ce..0237fa706 100644 --- a/web/src/components/player/PreviewPlayer.tsx +++ b/web/src/components/player/PreviewPlayer.tsx @@ -162,12 +162,16 @@ function PreviewVideoPlayer({ return; } + setCurrentHourFrame(undefined); + if (isAndroid && isChrome) { // android/chrome glitches when setting currentTime at the same time as onSeeked setTimeout(() => controller.finishedSeeking(), 25); } else { controller.finishedSeeking(); } + // we only want to update on controller change + // eslint-disable-next-line react-hooks/exhaustive-deps }, [controller]); // canvas to cover preview transition @@ -177,9 +181,8 @@ function PreviewVideoPlayer({ const changeSource = useCallback( (newPreview: Preview | undefined, video: HTMLVideoElement | null) => { - setCurrentPreview(newPreview); - if (!newPreview || !video) { + setCurrentPreview(newPreview); return; } @@ -197,6 +200,8 @@ function PreviewVideoPlayer({ setCurrentHourFrame(canvasRef.current?.toDataURL("image/webp")); } + setCurrentPreview(newPreview); + // we only want this to change when current preview changes // eslint-disable-next-line react-hooks/exhaustive-deps }, @@ -240,7 +245,7 @@ function PreviewVideoPlayer({ />