controller: auto-layout debounce (hysteresis) + revert mpp_main dispatch

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 <noreply@anthropic.com>
This commit is contained in:
gx
2026-05-21 07:19:43 +01:00
parent 48b24a04dd
commit 4cd2b4ba8f
@@ -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)