Use preferred mode as default

This commit is contained in:
Nicolas Mowen 2024-05-29 08:16:29 -06:00
parent 6dd9660ecd
commit 23cfffcf71

View File

@ -6,7 +6,7 @@ import { LivePlayerMode } from "@/types/live";
export default function useCameraLiveMode( export default function useCameraLiveMode(
cameraConfig: CameraConfig, cameraConfig: CameraConfig,
preferredMode?: string, preferredMode?: LivePlayerMode,
): LivePlayerMode | undefined { ): LivePlayerMode | undefined {
const { data: config } = useSWR<FrigateConfig>("config"); const { data: config } = useSWR<FrigateConfig>("config");
@ -23,18 +23,16 @@ export default function useCameraLiveMode(
); );
}, [config, cameraConfig]); }, [config, cameraConfig]);
const defaultLiveMode = useMemo<LivePlayerMode | undefined>(() => { const defaultLiveMode = useMemo<LivePlayerMode | undefined>(() => {
if (config && cameraConfig) { if (config) {
if (restreamEnabled) { if (restreamEnabled) {
return cameraConfig.ui.live_mode || config.ui.live_mode; return preferredMode || "mse";
} }
return "jsmpeg"; return "jsmpeg";
} }
return undefined; return undefined;
// config will be updated if camera config is updated }, [config, preferredMode, restreamEnabled]);
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [cameraConfig, restreamEnabled]);
const [viewSource] = usePersistence<LivePlayerMode>( const [viewSource] = usePersistence<LivePlayerMode>(
`${cameraConfig.name}-source`, `${cameraConfig.name}-source`,
defaultLiveMode, defaultLiveMode,