diff --git a/src/video/components/actions/ProgressAction.tsx b/src/video/components/actions/ProgressAction.tsx index ee08c5da..f8d28036 100644 --- a/src/video/components/actions/ProgressAction.tsx +++ b/src/video/components/actions/ProgressAction.tsx @@ -15,6 +15,11 @@ export function ProgressAction() { const videoTime = useProgress(descriptor); const ref = useRef(null); const dragRef = useRef(false); + const controlRef = useRef(controls); + + useEffect(() => { + controlRef.current = controls; + }, [controls]); const commitTime = useCallback( (percentage) => { @@ -36,11 +41,11 @@ export function ProgressAction() { useEffect(() => { if (dragging) { const state = getPlayerState(descriptor); - controls.setDraggingTime( + controlRef.current.setDraggingTime( state.progress.duration * (dragPercentage / 100) ); } - }, [descriptor, dragging, dragPercentage, controls]); + }, [descriptor, dragging, dragPercentage]); let watchProgress = makePercentageString( makePercentage((videoTime.time / videoTime.duration) * 100)