From 2e4ec3c02dcf23128b6cb35510dfe526ea8c3c85 Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Thu, 28 Mar 2024 13:34:13 -0600 Subject: [PATCH] Simplify dynamic video player --- web/src/components/player/PreviewPlayer.tsx | 37 +++++++------ .../player/dynamic/DynamicVideoPlayer.tsx | 28 ++-------- web/src/views/events/RecordingView.tsx | 52 +++++++++++++------ 3 files changed, 59 insertions(+), 58 deletions(-) diff --git a/web/src/components/player/PreviewPlayer.tsx b/web/src/components/player/PreviewPlayer.tsx index ff7951434..1a1ae3fcb 100644 --- a/web/src/components/player/PreviewPlayer.tsx +++ b/web/src/components/player/PreviewPlayer.tsx @@ -201,15 +201,8 @@ function PreviewVideoPlayer({ // canvas to cover preview transition const canvasRef = useRef(null); - const [videoWidth, videoHeight] = useMemo(() => { - if (!previewRef.current) { - return [0, 0]; - } + const [videoSize, setVideoSize] = useState([0, 0]); - return [previewRef.current.videoWidth, previewRef.current.videoHeight]; - // we know the video size will be known on load - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [loaded]); // handle switching sources useEffect(() => { @@ -218,9 +211,12 @@ function PreviewVideoPlayer({ } if (canvasRef.current) { - canvasRef.current - .getContext("2d") - ?.drawImage(previewRef.current, 0, 0, videoWidth, videoHeight); + const context = canvasRef.current.getContext("2d"); + + if (context) { + context.drawImage(previewRef.current, 0, 0, videoSize[0], videoSize[1]); + } + setHasCanvas(true); } @@ -235,7 +231,7 @@ function PreviewVideoPlayer({ return (
{currentHourFrame && ( @@ -246,9 +242,9 @@ function PreviewVideoPlayer({ )}