Only use resolution for main camera

This commit is contained in:
Nicolas Mowen 2024-04-30 05:57:12 -06:00
parent abb9ed9edc
commit e6ba4ab79d
3 changed files with 14 additions and 10 deletions

View File

@ -38,3 +38,6 @@ export type RecordingStartingPoint = {
startTime: number;
severity: ReviewSeverity;
};
export const ASPECT_VERTICAL_LAYOUT = 1.5;
export const ASPECT_WIDE_LAYOUT = 2;

View File

@ -42,6 +42,7 @@ import Logo from "@/components/Logo";
import { Skeleton } from "@/components/ui/skeleton";
import { FaVideo } from "react-icons/fa";
import { VideoResolutionType } from "@/types/live";
import { ASPECT_VERTICAL_LAYOUT, ASPECT_WIDE_LAYOUT } from "@/types/record";
const SEGMENT_DURATION = 30;
@ -215,19 +216,19 @@ export function RecordingView({
return undefined;
}
if (cam == mainCamera && fullResolution.width && fullResolution.height) {
return fullResolution.width / fullResolution.height;
}
const camera = config.cameras[cam];
if (!camera) {
return undefined;
}
if (fullResolution.width && fullResolution.height) {
return fullResolution.width / fullResolution.height;
} else {
return camera.detect.width / camera.detect.height;
}
return camera.detect.width / camera.detect.height;
},
[config, fullResolution],
[config, fullResolution, mainCamera],
);
const mainCameraAspect = useMemo(() => {
@ -235,9 +236,9 @@ export function RecordingView({
if (!aspectRatio) {
return "normal";
} else if (aspectRatio > 2) {
} else if (aspectRatio > ASPECT_WIDE_LAYOUT) {
return "wide";
} else if (aspectRatio < 16 / 9) {
} else if (aspectRatio < ASPECT_VERTICAL_LAYOUT) {
return "tall";
} else {
return "normal";

View File

@ -167,7 +167,7 @@ export default function LiveCameraView({ camera }: LiveCameraViewProps) {
if (isPortrait) {
return "absolute left-2 right-2 top-[50%] -translate-y-[50%]";
} else {
if (aspect > 16 / 9) {
if (aspect > 1.5) {
return "p-2 absolute left-0 top-[50%] -translate-y-[50%]";
} else {
return "p-2 absolute top-2 bottom-2 left-[50%] -translate-x-[50%]";
@ -176,7 +176,7 @@ export default function LiveCameraView({ camera }: LiveCameraViewProps) {
}
if (fullscreen) {
if (aspect > 16 / 9) {
if (aspect > 1.5) {
return "absolute inset-x-2 top-[50%] -translate-y-[50%]";
} else {
return "absolute inset-y-2 left-[50%] -translate-x-[50%]";