From bcdacb3fae072ddc6ae028058dff0d5416c822ce Mon Sep 17 00:00:00 2001 From: George Tsiamasiotis Date: Sat, 21 Sep 2024 13:31:36 +0300 Subject: [PATCH] Fix handling of missing -segment_time --- frigate/config.py | 16 +++++++--------- frigate/test/test_ffmpeg_presets.py | 2 +- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/frigate/config.py b/frigate/config.py index 42209858b..711e82d33 100644 --- a/frigate/config.py +++ b/frigate/config.py @@ -1359,17 +1359,15 @@ def verify_recording_segments_setup_with_reasonable_time( if record_args[0].startswith("preset"): return - seg_arg_index = record_args.index("-segment_time") - - if seg_arg_index < 0: - raise ValueError( - f"Camera {camera_config.name} has no segment_time in recording output args, segment args are required for record." - ) + try: + seg_arg_index = record_args.index("-segment_time") + except ValueError: + raise ValueError(f"Camera {camera_config.name} has no segment_time in \ + recording output args, segment args are required for record.") if int(record_args[seg_arg_index + 1]) > 60: - raise ValueError( - f"Camera {camera_config.name} has invalid segment_time output arg, segment_time must be 60 or less." - ) + raise ValueError(f"Camera {camera_config.name} has invalid segment_time output arg, \ + segment_time must be 60 or less.") def verify_zone_objects_are_tracked(camera_config: CameraConfig) -> None: diff --git a/frigate/test/test_ffmpeg_presets.py b/frigate/test/test_ffmpeg_presets.py index 7916b471c..f28d77de4 100644 --- a/frigate/test/test_ffmpeg_presets.py +++ b/frigate/test/test_ffmpeg_presets.py @@ -134,7 +134,7 @@ class TestFfmpegPresets(unittest.TestCase): def test_ffmpeg_output_record_not_preset(self): self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["output_args"]["record"] = ( - "-some output" + "-some output -segment_time 10" ) frigate_config = FrigateConfig(**self.default_ffmpeg) assert "-some output" in (