From 38fb94774733a70afccc0844698468ddad1ad1a2 Mon Sep 17 00:00:00 2001 From: Rakov Roman Date: Tue, 4 Oct 2022 15:25:56 +0300 Subject: [PATCH] fix(#2856): fixed active player on fullscreen --- src/features/MultiSourcePlayer/hooks/index.tsx | 2 +- src/features/StreamPlayer/hooks/index.tsx | 2 +- src/features/StreamPlayer/hooks/useFullscreen.tsx | 8 ++------ 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/features/MultiSourcePlayer/hooks/index.tsx b/src/features/MultiSourcePlayer/hooks/index.tsx index 2204152f..5d97d4d0 100644 --- a/src/features/MultiSourcePlayer/hooks/index.tsx +++ b/src/features/MultiSourcePlayer/hooks/index.tsx @@ -148,7 +148,7 @@ export const useMultiSourcePlayer = ({ isFullscreen, onFullscreenClick, wrapperRef, - } = useFullscreen() + } = useFullscreen(videoRef) const getChapterUrl = useCallback((index: number, quality: string = selectedQuality) => ( getActiveChapter(index)?.urls[quality] diff --git a/src/features/StreamPlayer/hooks/index.tsx b/src/features/StreamPlayer/hooks/index.tsx index e8e4cc83..aea6db50 100644 --- a/src/features/StreamPlayer/hooks/index.tsx +++ b/src/features/StreamPlayer/hooks/index.tsx @@ -112,7 +112,7 @@ export const useVideoPlayer = ({ isFullscreen, onFullscreenClick, wrapperRef, - } = useFullscreen() + } = useFullscreen(videoRef) const [sizeOptions, setSizeOptions] = useState({ height: wrapperRef.current?.clientHeight, diff --git a/src/features/StreamPlayer/hooks/useFullscreen.tsx b/src/features/StreamPlayer/hooks/useFullscreen.tsx index 2a73e4f1..90689019 100644 --- a/src/features/StreamPlayer/hooks/useFullscreen.tsx +++ b/src/features/StreamPlayer/hooks/useFullscreen.tsx @@ -16,7 +16,7 @@ const supportsFullscreen = (video: HTMLVideoElement | null): video is IOSVideo = && 'webkitExitFullscreen' in video, ) -export const useFullscreen = () => { +export const useFullscreen = (activePlayer: React.RefObject) => { const wrapperRef = useRef(null) const { isOpen: isFullscreen, @@ -43,12 +43,8 @@ export const useFullscreen = () => { } } - const getPlayingVideoElement = () => ( - wrapperRef.current?.querySelector('video') as HTMLVideoElement | null - ) - const toggleIOSFullscreen = () => { - const video = getPlayingVideoElement() + const video = activePlayer?.current if (!video || !supportsFullscreen(video)) return if (isFullscreen) {