From fa116949ce3d824a26a60a31561e7f008e983654 Mon Sep 17 00:00:00 2001 From: thunderwolf Date: Tue, 7 Jul 2026 22:27:14 -0500 Subject: [PATCH] Publish segment end time for valid recording segment updates The record watchdog compares latest_valid_segment_time against now() with the record_stale_threshold. Publishing the segment start time means the newest validated timestamp is already ~2x segment duration old in healthy steady state (own duration + next segment recording + maintainer latency), leaving little margin before a working ffmpeg record process is restarted. Publish the end time so staleness measures the actual age of the newest validated video data. --- frigate/record/maintainer.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frigate/record/maintainer.py b/frigate/record/maintainer.py index 7f9dbc19da..0ce20ec9d2 100644 --- a/frigate/record/maintainer.py +++ b/frigate/record/maintainer.py @@ -383,8 +383,11 @@ class RecordingMaintainer(threading.Thread): return None # this segment has a valid duration and has video data, so publish an update + # publish the segment end time so the watchdog measures the age of the + # newest validated video data; the start time is already ~2x segment + # duration old by the time the next segment finishes and is validated self.recordings_publisher.publish( - (camera, start_time.timestamp(), cache_path), + (camera, end_time.timestamp(), cache_path), RecordingsDataTypeEnum.valid.value, )