Instead of checking for indefinite events on a camera before deciding if we should end the segment, only update last_detection_time and last_alert_time if frame_time is greater, which should have the same effect

This commit is contained in:
nulledy 2026-02-08 17:10:44 +00:00
parent a587f5bf40
commit d8038d02e4

View File

@ -394,6 +394,7 @@ class ReviewSegmentMaintainer(threading.Thread):
if activity.has_activity_category(SeverityEnum.alert): if activity.has_activity_category(SeverityEnum.alert):
# update current time for last alert activity # update current time for last alert activity
if frame_time > segment.last_alert_time:
segment.last_alert_time = frame_time segment.last_alert_time = frame_time
if segment.severity != SeverityEnum.alert: if segment.severity != SeverityEnum.alert:
@ -404,6 +405,7 @@ class ReviewSegmentMaintainer(threading.Thread):
should_update_image = True should_update_image = True
if activity.has_activity_category(SeverityEnum.detection): if activity.has_activity_category(SeverityEnum.detection):
if frame_time > segment.last_detection_time:
segment.last_detection_time = frame_time segment.last_detection_time = frame_time
for object in activity.get_all_objects(): for object in activity.get_all_objects():
@ -484,11 +486,6 @@ class ReviewSegmentMaintainer(threading.Thread):
except FileNotFoundError: except FileNotFoundError:
return return
# indefinite (manual) events should extend the segment until they end
if (
segment.camera not in self.indefinite_events
or len(self.indefinite_events[segment.camera]) == 0
):
if segment.severity == SeverityEnum.alert and frame_time > ( if segment.severity == SeverityEnum.alert and frame_time > (
segment.last_alert_time + camera_config.review.alerts.cutoff_time segment.last_alert_time + camera_config.review.alerts.cutoff_time
): ):