From 44e70269ba4e4c3ea8c912424bbb3a0e479f07f4 Mon Sep 17 00:00:00 2001 From: Rita Date: Thu, 24 Nov 2022 11:41:25 +0400 Subject: [PATCH] feat(in-132): videoplayer bugfix --- src/features/MatchPage/store/hooks/index.tsx | 4 ++-- src/features/StreamPlayer/hooks/index.tsx | 6 +++++- .../StreamPlayer/hooks/useHlsPlayer.tsx | 18 ++++++++++++++++-- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/features/MatchPage/store/hooks/index.tsx b/src/features/MatchPage/store/hooks/index.tsx index 8b472265..58a33ed2 100644 --- a/src/features/MatchPage/store/hooks/index.tsx +++ b/src/features/MatchPage/store/hooks/index.tsx @@ -57,11 +57,11 @@ export const useMatchPage = () => { let getIntervalMatch: ReturnType if (matchProfile?.live && !matchProfile.youtube_link) { getIntervalMatch = setInterval( - () => getMatchInfo(sportType, matchId).then(setMatchProfile), 1000 * 60 * 3, + () => getMatchInfo(sportType, matchId).then(setMatchProfile), 5000, ) } return () => clearInterval(getIntervalMatch) - }, [matchProfile, sportType, matchId]) + }) const { events, diff --git a/src/features/StreamPlayer/hooks/index.tsx b/src/features/StreamPlayer/hooks/index.tsx index d46820b2..28573a8b 100644 --- a/src/features/StreamPlayer/hooks/index.tsx +++ b/src/features/StreamPlayer/hooks/index.tsx @@ -98,7 +98,11 @@ export const useVideoPlayer = ({ const { url } = chapters[0] ?? { url: '' } const numberOfChapters = size(chapters) - const { hls, videoRef } = useHlsPlayer(url, resumeFrom) + const { hls, videoRef } = useHlsPlayer({ + isLive, + resumeFrom, + src: url, + }) const [isLiveTime, setIsLiveTime] = useState(false) const [isPausedTime, setIsPausedTime] = useState(false) const [pausedProgress, setPausedProgress] = useState(0) diff --git a/src/features/StreamPlayer/hooks/useHlsPlayer.tsx b/src/features/StreamPlayer/hooks/useHlsPlayer.tsx index 34c995c4..2a04c637 100644 --- a/src/features/StreamPlayer/hooks/useHlsPlayer.tsx +++ b/src/features/StreamPlayer/hooks/useHlsPlayer.tsx @@ -9,7 +9,17 @@ import isNumber from 'lodash/isNumber' import { streamConfig } from '../config' -export const useHlsPlayer = (src: string, resumeFrom?: number) => { +type useHlsPlayerType = { + isLive?: boolean, + resumeFrom?: number, + src: string, +} + +export const useHlsPlayer = ({ + isLive, + resumeFrom, + src, +}: useHlsPlayerType) => { const hls = useMemo(() => { if (!Hls.isSupported()) return null @@ -19,7 +29,11 @@ export const useHlsPlayer = (src: string, resumeFrom?: number) => { } return new Hls(newStreamConfig) // eslint-disable-next-line react-hooks/exhaustive-deps - }, [resumeFrom, src]) + }, [ + resumeFrom, + src, + isLive, + ]) const videoRef = useRef(null)