Open to recordings with pre-buffer (#11143)

* Open to recordings with pre-buffer

* Reduce buffer

* Use variable for preview FPS
This commit is contained in:
Nicolas Mowen 2024-04-29 10:12:57 -06:00 committed by GitHub
parent 9117043adc
commit c9246bd4ab
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 12 additions and 4 deletions

View File

@ -23,6 +23,7 @@ import useContextMenu from "@/hooks/use-contextmenu";
import ActivityIndicator from "../indicators/activity-indicator";
import { TimeRange } from "@/types/timeline";
import { NoThumbSlider } from "../ui/slider";
import { PREVIEW_FPS, PREVIEW_PADDING } from "@/types/preview";
type PreviewPlayerProps = {
review: ReviewSegment;
@ -337,7 +338,6 @@ function PreviewContent({
}
}
const PREVIEW_PADDING = 16;
type VideoPreviewProps = {
relevantPreview: Preview;
startTime: number;
@ -398,7 +398,7 @@ export function VideoPreview({
setManualPlayback(true);
} else {
playerRef.current.currentTime = playerStartTime;
playerRef.current.playbackRate = 8;
playerRef.current.playbackRate = PREVIEW_FPS;
}
// we know that these deps are correct
@ -470,7 +470,7 @@ export function VideoPreview({
playerRef.current.currentTime = playerStartTime + counter;
counter += 1;
}
}, 125);
}, 1000 / PREVIEW_FPS);
return () => clearInterval(intervalId);
// we know that these deps are correct

View File

@ -1,3 +1,5 @@
import { REVIEW_PADDING } from "./review";
export type Preview = {
camera: string;
src: string;
@ -5,3 +7,6 @@ export type Preview = {
start: number;
end: number;
};
export const PREVIEW_FPS = 8;
export const PREVIEW_PADDING = REVIEW_PADDING * PREVIEW_FPS;

View File

@ -48,3 +48,5 @@ export type MotionData = {
audio?: number;
camera: string;
};
export const REVIEW_PADDING = 2;

View File

@ -12,6 +12,7 @@ import { FrigateConfig } from "@/types/frigateConfig";
import { Preview } from "@/types/preview";
import {
MotionData,
REVIEW_PADDING,
ReviewFilter,
ReviewSegment,
ReviewSeverity,
@ -175,7 +176,7 @@ export default function EventView({
} else {
onOpenRecording({
camera: review.camera,
startTime: review.start_time,
startTime: review.start_time - REVIEW_PADDING,
severity: review.severity,
});