From 7f9e9ff5db91cfa64cfa52cfc666ba709ce7ada1 Mon Sep 17 00:00:00 2001 From: tapframe Date: Wed, 24 Dec 2025 21:46:46 +0530 Subject: [PATCH] orientation fix after exiting player ios --- src/components/player/KSPlayerCore.tsx | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/components/player/KSPlayerCore.tsx b/src/components/player/KSPlayerCore.tsx index 9e2fe758..270c83c7 100644 --- a/src/components/player/KSPlayerCore.tsx +++ b/src/components/player/KSPlayerCore.tsx @@ -310,8 +310,12 @@ const KSPlayerCore: React.FC = () => { const cueNow = customSubs.customSubtitles.find( cue => adjustedTime >= cue.start && adjustedTime <= cue.end ); - customSubs.setCurrentSubtitle(cueNow ? cueNow.text : ''); - }, [currentTime, customSubs.useCustomSubtitles, customSubs.customSubtitles, customSubs.subtitleOffsetSec]); + const newText = cueNow ? cueNow.text : ''; + // Only update state if the text has changed to avoid unnecessary re-renders + if (newText !== customSubs.currentSubtitle) { + customSubs.setCurrentSubtitle(newText); + } + }, [currentTime, customSubs.useCustomSubtitles, customSubs.customSubtitles, customSubs.subtitleOffsetSec, customSubs.currentSubtitle]); // Handlers const onLoad = (data: any) => { @@ -487,7 +491,11 @@ const KSPlayerCore: React.FC = () => { if (!isSliderDragging) { setCurrentTime(d.currentTime); } - setBuffered(d.buffered || 0); + // Only update buffered if it changed by more than 0.5s to reduce re-renders + const newBuffered = d.buffered || 0; + if (Math.abs(newBuffered - buffered) > 0.5) { + setBuffered(newBuffered); + } }} onEnd={async () => { setCurrentTime(duration);