mirror of
https://github.com/p-stream/p-stream.git
synced 2026-08-08 16:08:13 +00:00
remove some unneeded changes
This commit is contained in:
parent
f665bbb473
commit
4aa47ffbef
5 changed files with 14 additions and 16 deletions
|
|
@ -1,3 +1,5 @@
|
|||
import { t } from "i18next";
|
||||
|
||||
import { Icon, Icons } from "@/components/Icon";
|
||||
import { Flare } from "@/components/utils/Flare";
|
||||
import { Transition } from "@/components/utils/Transition";
|
||||
|
|
@ -31,8 +33,10 @@ export function SpeedChangedPopout() {
|
|||
<div className="w-full flex items-center justify-between">
|
||||
<span className="text-sm">
|
||||
{isSpeedBoosted
|
||||
? "Boosted to 2x speed"
|
||||
: `Speed: ${playbackRate}x`}
|
||||
? t("player.menus.playback.speedBoosted")
|
||||
: t("player.menus.playback.speedUnboosted", {
|
||||
speed: playbackRate,
|
||||
})}
|
||||
</span>
|
||||
</div>
|
||||
</Flare.Child>
|
||||
|
|
|
|||
|
|
@ -116,7 +116,6 @@ export function SubtitleRenderer() {
|
|||
const styling = useSubtitleStore((s) => s.styling);
|
||||
const overrideCasing = useSubtitleStore((s) => s.overrideCasing);
|
||||
const delay = useSubtitleStore((s) => s.delay);
|
||||
const playbackRate = usePlayerStore((s) => s.mediaPlaying.playbackRate);
|
||||
|
||||
const parsedCaptions = useMemo(
|
||||
() => (srtData ? parseSubtitles(srtData, language) : []),
|
||||
|
|
@ -126,9 +125,9 @@ export function SubtitleRenderer() {
|
|||
const visibileCaptions = useMemo(
|
||||
() =>
|
||||
parsedCaptions.filter(({ start, end }) =>
|
||||
captionIsVisible(start, end, delay, videoTime, playbackRate),
|
||||
captionIsVisible(start, end, delay, videoTime),
|
||||
),
|
||||
[parsedCaptions, videoTime, delay, playbackRate],
|
||||
[parsedCaptions, videoTime, delay],
|
||||
);
|
||||
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -16,8 +16,6 @@ export function KeyboardEvents() {
|
|||
const mediaPlaying = usePlayerStore((s) => s.mediaPlaying);
|
||||
const time = usePlayerStore((s) => s.progress.time);
|
||||
const { setVolume, toggleMute } = useVolume();
|
||||
const setSpeedBoosted = usePlayerStore((s) => s.setSpeedBoosted);
|
||||
const setShowSpeedIndicator = usePlayerStore((s) => s.setShowSpeedIndicator);
|
||||
|
||||
const { toggleLastUsed } = useCaptions();
|
||||
const setShowVolume = useEmpheralVolumeStore((s) => s.setShowVolume);
|
||||
|
|
@ -30,13 +28,15 @@ export function KeyboardEvents() {
|
|||
const [isRolling, setIsRolling] = useState(false);
|
||||
const volumeDebounce = useRef<ReturnType<typeof setTimeout> | undefined>();
|
||||
const subtitleDebounce = useRef<ReturnType<typeof setTimeout> | undefined>();
|
||||
|
||||
// Speed boost
|
||||
const setSpeedBoosted = usePlayerStore((s) => s.setSpeedBoosted);
|
||||
const setShowSpeedIndicator = usePlayerStore((s) => s.setShowSpeedIndicator);
|
||||
const speedIndicatorTimeoutRef = useRef<
|
||||
ReturnType<typeof setTimeout> | undefined
|
||||
>();
|
||||
const boostTimeoutRef = useRef<ReturnType<typeof setTimeout> | undefined>();
|
||||
const isPendingBoostRef = useRef<boolean>(false);
|
||||
|
||||
// Tracking previous playback rate when space is held down
|
||||
const previousRateRef = useRef<number>(1);
|
||||
const isSpaceHeldRef = useRef<boolean>(false);
|
||||
|
||||
|
|
|
|||
|
|
@ -13,14 +13,9 @@ export function captionIsVisible(
|
|||
end: number,
|
||||
delay: number,
|
||||
currentTime: number,
|
||||
playbackRate: number = 1,
|
||||
) {
|
||||
// Calculate subtitle timing with delay adjustment
|
||||
// When playback is sped up, we need to adjust the subtitle windows accordingly
|
||||
// so they appear at the right time but also remain visible for the right duration
|
||||
const delayedStart = start / 1000 + delay;
|
||||
const delayedEnd = end / 1000 + delay;
|
||||
|
||||
return (
|
||||
Math.max(0, delayedStart) <= currentTime &&
|
||||
Math.max(0, delayedEnd) >= currentTime
|
||||
|
|
|
|||
|
|
@ -2,12 +2,12 @@ import { create } from "zustand";
|
|||
|
||||
type OverlayType = "volume" | "subtitle" | "speed" | null;
|
||||
|
||||
export interface OverlayStackState {
|
||||
interface OverlayStackStore {
|
||||
currentOverlay: OverlayType;
|
||||
setCurrentOverlay: (overlay: OverlayType) => void;
|
||||
}
|
||||
|
||||
export const useOverlayStack = create<OverlayStackState>((set) => ({
|
||||
export const useOverlayStack = create<OverlayStackStore>((set) => ({
|
||||
currentOverlay: null,
|
||||
setCurrentOverlay: (overlay) => set({ currentOverlay: overlay }),
|
||||
}));
|
||||
|
|
|
|||
Loading…
Reference in a new issue