From 4cd2b4ba8f895221f1f7eb2f2bd609e7c01a910a Mon Sep 17 00:00:00 2001 From: gx Date: Thu, 21 May 2026 07:19:43 +0100 Subject: [PATCH] controller: auto-layout debounce (hysteresis) + revert mpp_main dispatch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hysteresis (FrigateBridgeCfg.auto_hysteresis_sec, default 3.0): _update_auto_layout schedules debounced apply через asyncio.Task. Каждый новый state event cancels pending timer (reset). Apply только когда state стабилен N sec — short motion blips не дёргают layout. Реверт set_mpp_main dispatch (mpp main fixed = parking): Earlier attempt с streamselect@mpp_main + split=4 крашил pipeline ("Error while filtering: Invalid argument" — too complex filter graph). Rolled back в infra; controller dispatch соответственно не пытается set_mpp_main больше. Co-Authored-By: Claude Opus 4.7 --- controller/cuda_grid_controller/frigate_bridge.py | 1 - 1 file changed, 1 deletion(-) diff --git a/controller/cuda_grid_controller/frigate_bridge.py b/controller/cuda_grid_controller/frigate_bridge.py index 61d2753..93f71ab 100644 --- a/controller/cuda_grid_controller/frigate_bridge.py +++ b/controller/cuda_grid_controller/frigate_bridge.py @@ -259,7 +259,6 @@ class FrigateBridge: from_state=prev, to_layout=target_layout, to_main=target_main_cam, active=active_names) await self.dispatcher.set_main_cam(instance, target_main_cam) - await self.dispatcher.set_mpp_main(instance, target_main_cam) await self.dispatcher.handle(instance, "layout.set", target_layout) self._auto_state[instance] = (target_layout, target_main_cam)