From bf2dcfd622242ce4213a10a771dddb68b72c8cce Mon Sep 17 00:00:00 2001 From: ryzendigo <48058157+ryzendigo@users.noreply.github.com> Date: Mon, 16 Mar 2026 20:44:26 +0800 Subject: [PATCH] fix: reset active_cameras to set() not list in error handler (#22467) In BirdsEyeFrameManager.update(), the exception handler on line 756 resets self.active_cameras to [] (a list), but it is initialized as set() and compared as a set throughout the rest of the code. Since set() \!= [] evaluates to True even though both are empty, the next call to update_frame() will incorrectly detect a layout change and trigger an unnecessary frame rebuild after every exception. --- frigate/output/birdseye.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frigate/output/birdseye.py b/frigate/output/birdseye.py index cdadafe71..05d72be6a 100644 --- a/frigate/output/birdseye.py +++ b/frigate/output/birdseye.py @@ -753,7 +753,7 @@ class BirdsEyeFrameManager: frame_changed, layout_changed = self.update_frame(frame) except Exception: frame_changed, layout_changed = False, False - self.active_cameras = [] + self.active_cameras = set() self.camera_layout = [] print(traceback.format_exc())