Ensure mobile view video is consistent

This commit is contained in:
Nicolas Mowen 2024-03-14 15:14:43 -06:00
parent 238da337a4
commit 3689c2a4c3

View File

@ -301,6 +301,7 @@ export function MobileRecordingView({
relevantPreviews,
allCameras,
}: MobileRecordingViewProps) {
const { data: config } = useSWR<FrigateConfig>("config");
const navigate = useNavigate();
const contentRef = useRef<HTMLDivElement | null>(null);
@ -310,6 +311,21 @@ export function MobileRecordingView({
const [playbackCamera, setPlaybackCamera] = useState(startCamera);
const [playbackStart, setPlaybackStart] = useState(startTime);
const grow = useMemo(() => {
if (!config) {
return "aspect-video";
}
const aspectRatio =
config.cameras[playbackCamera].detect.width /
config.cameras[playbackCamera].detect.height;
if (aspectRatio > 2) {
return "aspect-wide";
} else {
return "aspect-video";
}
}, [config, playbackCamera]);
// timeline time
const timeRange = useMemo(() => getChunkedTimeDay(startTime), [startTime]);
@ -453,6 +469,7 @@ export function MobileRecordingView({
<div>
<DynamicVideoPlayer
className={`w-full ${grow}`}
camera={playbackCamera}
timeRange={currentTimeRange}
cameraPreviews={relevantPreviews || []}