Fix camera enabled check (#17331)

* Fix camera enabled check

* Add fix to LiveCameraView
This commit is contained in:
leccelecce
2025-03-24 12:38:53 +00:00
committed by GitHub
parent 1f98162377
commit 1e45f63a7c
2 changed files with 15 additions and 11 deletions

View File

@@ -112,6 +112,7 @@ import {
SelectTrigger,
} from "@/components/ui/select";
import { usePersistence } from "@/hooks/use-persistence";
import { useCameraActivity } from "@/hooks/use-camera-activity";
import { Label } from "@/components/ui/label";
import { Switch } from "@/components/ui/switch";
import axios from "axios";
@@ -143,8 +144,9 @@ export default function LiveCameraView({
useResizeObserver(window);
// camera enabled state
const { payload: enabledState } = useEnabledState(camera.name);
const cameraEnabled = enabledState === "ON";
const { enabled: isCameraEnabled } = useCameraActivity(
config?.cameras[camera.name] ?? ({} as CameraConfig),
);
// supported features
const [streamName, setStreamName] = usePersistence<string>(
@@ -160,7 +162,7 @@ export default function LiveCameraView({
);
const { data: cameraMetadata } = useSWR<LiveStreamMetadata>(
cameraEnabled && isRestreamed ? `go2rtc/streams/${streamName}` : null,
isCameraEnabled && isRestreamed ? `go2rtc/streams/${streamName}` : null,
{
revalidateOnFocus: false,
},
@@ -520,7 +522,7 @@ export default function LiveCameraView({
setPip(false);
}
}}
disabled={!cameraEnabled}
disabled={!isCameraEnabled}
/>
)}
{supports2WayTalk && (
@@ -542,7 +544,7 @@ export default function LiveCameraView({
setAudio(true);
}
}}
disabled={!cameraEnabled}
disabled={!isCameraEnabled}
/>
)}
{supportsAudioOutput && preferredLiveMode != "jsmpeg" && (
@@ -559,7 +561,7 @@ export default function LiveCameraView({
t("button.cameraAudio", { ns: "common" })
}
onClick={() => setAudio(!audio)}
disabled={!cameraEnabled}
disabled={!isCameraEnabled}
/>
)}
<FrigateCameraFeatures
@@ -581,7 +583,7 @@ export default function LiveCameraView({
setLowBandwidth={setLowBandwidth}
supportsAudioOutput={supportsAudioOutput}
supports2WayTalk={supports2WayTalk}
cameraEnabled={cameraEnabled}
cameraEnabled={isCameraEnabled ?? false}
/>
</div>
</TooltipProvider>