diff --git a/app/(auth)/player.tsx b/app/(auth)/player.tsx index d0b18a7a..6fa4057c 100644 --- a/app/(auth)/player.tsx +++ b/app/(auth)/player.tsx @@ -116,8 +116,8 @@ export default function page() { }, [videoRef]); const seek = useCallback( - (ticks: number) => { - videoRef.current?.seek(ticksToSeconds(ticks)); + (seconds: number) => { + videoRef.current?.seek(seconds); }, [videoRef] ); @@ -151,20 +151,12 @@ export default function page() { if (isSeeking.value === true) return; if (isPlaybackStopped === true) return; - console.log({ - data, - isSeeking: isSeeking.value, - isPlaybackStopped, - }); - const ticks = secondsToTicks(data.currentTime); progress.value = ticks; cacheProgress.value = secondsToTicks(data.playableDuration); setIsBuffering(data.playableDuration === 0); - console.log("progress.value", progress.value); - if (!playSettings?.item?.Id || data.currentTime === 0) return; await getPlaystateApi(api).onPlaybackProgress({ @@ -353,9 +345,6 @@ export function useVideoSource( return { uri: playUrl, - textTracks: { - - }, isNetwork: true, startPosition, headers: getAuthHeaders(api), diff --git a/components/video-player/Controls.tsx b/components/video-player/Controls.tsx index b40ce3f5..d3fd44e7 100644 --- a/components/video-player/Controls.tsx +++ b/components/video-player/Controls.tsx @@ -116,8 +116,8 @@ export const Controls: React.FC = ({ !offline && enableTrickplay ); - const [currentTime, setCurrentTime] = useState(0); // Seconds - const [remainingTime, setRemainingTime] = useState(0); // Seconds + const [currentTime, setCurrentTime] = useState(0); + const [remainingTime, setRemainingTime] = useState(0); const min = useSharedValue(0); const max = useSharedValue(item.RunTimeTicks || 0); @@ -254,7 +254,7 @@ export const Controls: React.FC = ({ if (curr !== undefined) { const newTime = isVlc ? Math.max(0, curr - secondsToMs(settings.rewindSkipTime)) - : Math.max(0, curr - settings.rewindSkipTime * 10000000); + : Math.max(0, ticksToSeconds(curr) - settings.rewindSkipTime); await seek(newTime); if (wasPlayingRef.current === true) play(); } @@ -268,10 +268,11 @@ export const Controls: React.FC = ({ wasPlayingRef.current = isPlaying; try { const curr = progress.value; + console.log(curr); if (curr !== undefined) { const newTime = isVlc ? curr + secondsToMs(settings.forwardSkipTime) - : curr + settings.forwardSkipTime * 10000000; + : ticksToSeconds(curr) + settings.forwardSkipTime; await seek(Math.max(0, newTime)); if (wasPlayingRef.current === true) play(); } diff --git a/utils/time.ts b/utils/time.ts index 43adaea2..5ca32a13 100644 --- a/utils/time.ts +++ b/utils/time.ts @@ -95,3 +95,8 @@ export const secondsToMs = (seconds?: number | undefined) => { if (!seconds) return 0; return seconds * 1000; }; + +export const msToSeconds = (ms?: number | undefined) => { + if (!ms) return 0; + return Math.floor(ms / 1000); +};