···11import React, {useCallback, useEffect, useRef, useState} from 'react'
2233-import {isSafari} from '#/lib/browser'
43import {useVideoVolumeState} from '../../VideoVolumeContext'
5465export function useVideoElement(ref: React.RefObject<HTMLVideoElement>) {
···3837 const handleTimeUpdate = () => {
3938 if (!ref.current) return
4039 setCurrentTime(round(ref.current.currentTime) || 0)
4141- // HACK: Safari randomly fires `stalled` events when changing between segments
4242- // let's just clear the buffering state if the video is still progressing -sfn
4343- if (isSafari) {
4444- if (bufferingTimeout) clearTimeout(bufferingTimeout)
4545- setBuffering(false)
4646- }
4740 }
48414942 const handleDurationChange = () => {