From 1c4bc685663ddadbf8af597f2b944c59a9d12048 Mon Sep 17 00:00:00 2001 From: Fredrik Burmester Date: Thu, 19 Sep 2024 21:14:03 +0200 Subject: [PATCH] wip --- app.json | 5 +- bun.lockb | Bin 585868 -> 586258 bytes components/FullScreenVideoPlayer.tsx | 190 ++++++++++++++------------- package.json | 10 +- providers/PlaybackProvider.tsx | 34 ++--- 5 files changed, 126 insertions(+), 113 deletions(-) diff --git a/app.json b/app.json index b1f99dc8..a03d71fe 100644 --- a/app.json +++ b/app.json @@ -82,9 +82,11 @@ "expo-build-properties", { "ios": { + "newArchEnabled": true, "deploymentTarget": "14.0" }, "android": { + "newArchEnabled": true, "android": { "compileSdkVersion": 34, "targetSdkVersion": 34, @@ -111,7 +113,8 @@ { "motionPermission": "Allow Streamyfin to access your device motion for landscape video watching." } - ] + ], + "expo-video" ], "experiments": { "typedRoutes": true diff --git a/bun.lockb b/bun.lockb index 465c6be21d89a5c4a8de4297af76caa14d2316e9..6491e28c3c5bdb1deaea9daa77bae5d97b6d68cb 100755 GIT binary patch delta 91786 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

bAMQzKJ-sgp|CIR#eRHC%)L|Zk@ufUj6$cU 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 diff --git a/components/FullScreenVideoPlayer.tsx b/components/FullScreenVideoPlayer.tsx index a7572f35..50fcf298 100644 --- a/components/FullScreenVideoPlayer.tsx +++ b/components/FullScreenVideoPlayer.tsx @@ -5,7 +5,7 @@ import { apiAtom } from "@/providers/JellyfinProvider"; import { usePlayback } from "@/providers/PlaybackProvider"; import { useSettings } from "@/utils/atoms/settings"; import { getBackdropUrl } from "@/utils/jellyfin/image/getBackdropUrl"; -import { getAuthHeaders } from "@/utils/jellyfin/jellyfin"; +import { getAuthHeaders, isBaseItemDto } from "@/utils/jellyfin/jellyfin"; import { writeToLog } from "@/utils/log"; import orientationToOrientationLock from "@/utils/OrientationLockConverter"; import { secondsToTicks } from "@/utils/secondsToTicks"; @@ -32,6 +32,7 @@ import "react-native-gesture-handler"; import { Gesture, GestureDetector } from "react-native-gesture-handler"; import Animated, { runOnJS, + useAnimatedReaction, useAnimatedStyle, useSharedValue, withTiming, @@ -41,6 +42,7 @@ import Video, { OnProgressData } from "react-native-video"; import { Text } from "./common/Text"; import { itemRouter } from "./common/TouchableItemRouter"; import { Loader } from "./Loader"; +import { useVideoPlayer, VideoView } from "expo-video"; async function lockOrientation(orientation: ScreenOrientation.OrientationLock) { await ScreenOrientation.lockAsync(orientation); @@ -59,10 +61,10 @@ export const FullScreenVideoPlayer: React.FC = () => { setVolume, setIsPlaying, isPlaying, - videoRef, onProgress, - isBuffering: _isBuffering, + isBuffering, setIsBuffering, + player, } = usePlayback(); const [settings] = useSettings(); @@ -71,6 +73,8 @@ export const FullScreenVideoPlayer: React.FC = () => { const segments = useSegments(); const router = useRouter(); + const firstLoad = useRef(true); + const { trickPlayUrl, calculateTrickplayUrl, trickplayInfo } = useTrickplay(currentlyPlaying); const { previousItem, nextItem } = useAdjacentEpisodes({ currentlyPlaying }); @@ -90,6 +94,24 @@ export const FullScreenVideoPlayer: React.FC = () => { const localIsBuffering = useSharedValue(true); const cacheProgress = useSharedValue(0); const [isStatusBarHidden, setIsStatusBarHidden] = useState(false); + const [progressState, _setProgressState] = useState(0); + + const setProgressState = useCallback( + (value: number) => { + if (sliding.current === true) return; + _setProgressState(value); + }, + [sliding.current] + ); + + useAnimatedReaction( + () => { + return progress.value; + }, + (progress) => { + runOnJS(setProgressState)(progress); + } + ); const hideControls = useCallback(() => { "worklet"; @@ -104,8 +126,6 @@ export const FullScreenVideoPlayer: React.FC = () => { useEffect(() => { const backAction = () => { if (currentlyPlaying) { - // Your custom back action here - console.log("onback"); Alert.alert("Hold on!", "Are you sure you want to exit?", [ { text: "Cancel", @@ -162,10 +182,62 @@ export const FullScreenVideoPlayer: React.FC = () => { }; }, [currentlyPlaying, api, poster]); + useEffect(() => { + const subscription = player.addListener("playingChange", (isPlaying) => { + setIsPlaying(isPlaying); + }); + + const subscription2 = player.addListener("statusChange", (status) => { + if (status === "error") { + console.log("player.addListener ~ error"); + Alert.alert("Error", "An error occurred while playing the video."); + } + if (status === "readyToPlay") { + console.log("player.addListener ~ readyToPlay"); + localIsBuffering.value = false; + setIsBuffering(false); + if (firstLoad.current === true) { + playVideo(); + firstLoad.current = false; + } + } + if (status === "loading") { + localIsBuffering.value = true; + setIsBuffering(true); + } + if (status === "idle") { + console.log("player.addListener ~ idle"); + } + }); + + return () => { + subscription.remove(); + subscription2.remove(); + }; + }, [player, setIsBuffering]); + useEffect(() => { max.value = currentlyPlaying?.item.RunTimeTicks || 0; }, [currentlyPlaying?.item.RunTimeTicks]); + useEffect(() => { + if (!player) return; + + const interval = setInterval(async () => { + try { + if (sliding.current === true) return; + if (player.playing === true) { + const time = secondsToTicks(player.currentTime); + progress.value = time; + } + } catch (error) { + console.error("Error getting current time:", error); + } + }, 500); + + return () => clearInterval(interval); + }, [player, sliding.current]); + useEffect(() => { if (!currentlyPlaying) { resetOrientation(); @@ -173,14 +245,11 @@ export const FullScreenVideoPlayer: React.FC = () => { min.value = 0; max.value = 0; cacheProgress.value = 0; - localIsBuffering.value = false; sliding.current = false; hideControls(); setStatusBarHidden(false); - // NavigationBar.setVisibilityAsync("visible") } else { setStatusBarHidden(true); - // NavigationBar.setVisibilityAsync("hidden") lockOrientation( settings?.defaultVideoOrientation || ScreenOrientation.OrientationLock.DEFAULT @@ -229,10 +298,9 @@ export const FullScreenVideoPlayer: React.FC = () => { ), })), loader: useAnimatedStyle(() => ({ - opacity: withTiming( - localIsBuffering.value === true || progress.value === 0 ? 1 : 0, - { duration: 300 } - ), + opacity: withTiming(localIsBuffering.value === true ? 1 : 0, { + duration: 300, + }), })), }; @@ -303,32 +371,14 @@ export const FullScreenVideoPlayer: React.FC = () => { }, [opacity.value, hideControls, showControls]); const skipIntro = useCallback(async () => { - if (!introTimestamps || !videoRef.current) return; + if (!introTimestamps || !player) return; try { - videoRef.current.seek(introTimestamps.IntroEnd); + player.currentTime = introTimestamps.IntroEnd; } catch (error) { writeToLog("ERROR", "Error skipping intro", error); } }, [introTimestamps]); - const handleVideoProgress = useCallback( - (e: OnProgressData) => { - if (e.playableDuration === 0) { - setIsBuffering(true); - localIsBuffering.value = true; - } else { - setIsBuffering(false); - localIsBuffering.value = false; - } - - if (sliding.current) return; - onProgress(e); - progress.value = secondsToTicks(e.currentTime); - cacheProgress.value = secondsToTicks(e.playableDuration); - }, - [onProgress, setIsBuffering] - ); - const handleVideoError = useCallback( (e: any) => { console.log(e); @@ -341,27 +391,27 @@ export const FullScreenVideoPlayer: React.FC = () => { const handleSkipBackward = useCallback(async () => { try { - const curr = await videoRef.current?.getCurrentPosition(); + const curr = player.currentTime; if (curr !== undefined) { - videoRef.current?.seek(Math.max(0, curr - 15)); + player.currentTime = Math.max(0, curr - 15); showControls(); } } catch (error) { writeToLog("ERROR", "Error seeking video backwards", error); } - }, [videoRef, showControls]); + }, [player, showControls]); const handleSkipForward = useCallback(async () => { try { - const curr = await videoRef.current?.getCurrentPosition(); + const curr = player.currentTime; if (curr !== undefined) { - videoRef.current?.seek(Math.max(0, curr + 15)); + player.currentTime = Math.max(0, curr + 15); showControls(); } } catch (error) { writeToLog("ERROR", "Error seeking video forwards", error); } - }, [videoRef, showControls]); + }, [player, showControls]); const handlePlayPause = useCallback(() => { console.log("handlePlayPause"); @@ -379,19 +429,19 @@ export const FullScreenVideoPlayer: React.FC = () => { (val: number) => { if (opacity.value === 0) return; const tick = Math.floor(val); - videoRef.current?.seek(tick / 10000000); + player.currentTime = tick / 10000000; sliding.current = false; }, - [videoRef] + [player] ); const handleSliderChange = useCallback( (val: number) => { if (opacity.value === 0) return; + sliding.current = true; const tick = Math.floor(val); progress.value = tick; calculateTrickplayUrl(progress); - showControls(); }, [progress, calculateTrickplayUrl, showControls] ); @@ -495,55 +545,16 @@ export const FullScreenVideoPlayer: React.FC = () => { }} > {videoSource && ( -