Compare commits

..
2 Commits
2 changed files with 23 additions and 23 deletions
+3 -1
View File
@@ -32,7 +32,9 @@ export function usePlayerState<Key extends keyof OmniPlayerState>(
refresh?: number,
): OmniPlayerState[Key] {
const player = usePlayer() as OmniPlayer;
const [ret, setState] = useState<any>(player[key]);
// don't call `player[key]` (native call on main thread) every re-render
// only do it when needed (init)
const [ret, setState] = useState<any>(() => player[key]);
useEffect(() => {
const em = player.eventMap;
+20 -22
View File
@@ -151,28 +151,26 @@ export const OmniView = ({
ref={containerRef}
style={{ position: "relative", ...style }}
>
{source?.src && (
<Tech
ref={ref}
src={source?.src.uri}
config={config}
autoPlay={autoplay}
playsInline
crossOrigin="anonymous"
style={{ width: "100%", height: "100%", objectFit: "contain" }}
>
{(source?.subtitles ?? []).map((subtitle) => (
<track
key={subtitle.id}
id={subtitle.id}
kind="subtitles"
src={subtitle.link}
srcLang={subtitle.language}
label={subtitle.label ?? subtitle.language ?? subtitle.id}
/>
))}
</Tech>
)}
<Tech
ref={ref}
src={source?.src.uri}
config={config}
autoPlay={autoplay}
playsInline
crossOrigin="anonymous"
style={{ width: "100%", height: "100%", objectFit: "contain" }}
>
{(source?.subtitles ?? []).map((subtitle) => (
<track
key={subtitle.id}
id={subtitle.id}
kind="subtitles"
src={subtitle.link}
srcLang={subtitle.language}
label={subtitle.label ?? subtitle.language ?? subtitle.id}
/>
))}
</Tech>
{castStatus !== "connected" && castStatus !== "connecting" && (
<SubtitleOverlay
video={ref}