Add region count to database and use for motion activity (#10480)

* Add region count to database and use for motion activity

* Fix test
This commit is contained in:
Nicolas Mowen
2024-03-15 09:29:22 -06:00
committed by GitHub
parent c93b186eda
commit 93260f6cfd
6 changed files with 75 additions and 10 deletions

View File

@@ -6,20 +6,28 @@ from frigate.record.maintainer import SegmentInfo
class TestRecordRetention(unittest.TestCase):
def test_motion_should_keep_motion_not_object(self):
segment_info = SegmentInfo(motion_area=1, active_object_count=0, average_dBFS=0)
segment_info = SegmentInfo(
motion_area=1, active_object_count=0, region_count=0, average_dBFS=0
)
assert not segment_info.should_discard_segment(RetainModeEnum.motion)
assert segment_info.should_discard_segment(RetainModeEnum.active_objects)
def test_object_should_keep_object_not_motion(self):
segment_info = SegmentInfo(motion_area=0, active_object_count=1, average_dBFS=0)
segment_info = SegmentInfo(
motion_area=0, active_object_count=1, region_count=0, average_dBFS=0
)
assert segment_info.should_discard_segment(RetainModeEnum.motion)
assert not segment_info.should_discard_segment(RetainModeEnum.active_objects)
def test_all_should_keep_all(self):
segment_info = SegmentInfo(motion_area=0, active_object_count=0, average_dBFS=0)
segment_info = SegmentInfo(
motion_area=0, active_object_count=0, region_count=0, average_dBFS=0
)
assert not segment_info.should_discard_segment(RetainModeEnum.all)
def test_should_keep_audio_in_motion_mode(self):
segment_info = SegmentInfo(motion_area=0, active_object_count=0, average_dBFS=1)
segment_info = SegmentInfo(
motion_area=0, active_object_count=0, region_count=0, average_dBFS=1
)
assert not segment_info.should_discard_segment(RetainModeEnum.motion)
assert segment_info.should_discard_segment(RetainModeEnum.active_objects)