diff --git a/frigate/camera/maintainer.py b/frigate/camera/maintainer.py index 9bc34ee85..e8304a571 100644 --- a/frigate/camera/maintainer.py +++ b/frigate/camera/maintainer.py @@ -6,6 +6,7 @@ import os import shutil import threading from multiprocessing import Queue +from multiprocessing.managers import DictProxy from multiprocessing.synchronize import Event as MpEvent from frigate.camera import CameraMetrics, PTZMetrics @@ -32,7 +33,7 @@ class CameraMaintainer(threading.Thread): config: FrigateConfig, detection_queue: Queue, detected_frames_queue: Queue, - camera_metrics: dict[str, CameraMetrics], + camera_metrics: DictProxy[str, CameraMetrics], ptz_metrics: dict[str, PTZMetrics], stop_event: MpEvent, ): diff --git a/frigate/events/audio.py b/frigate/events/audio.py index 1da86779f..7843cd3ae 100644 --- a/frigate/events/audio.py +++ b/frigate/events/audio.py @@ -6,6 +6,7 @@ import random import string import threading import time +from multiprocessing.managers import DictProxy from typing import Any, Tuple import numpy as np @@ -83,7 +84,7 @@ class AudioProcessor(util.Process): self, config: FrigateConfig, cameras: list[CameraConfig], - camera_metrics: dict[str, CameraMetrics], + camera_metrics: DictProxy[str, CameraMetrics], ): super().__init__(name="frigate.audio_manager", daemon=True) @@ -146,7 +147,7 @@ class AudioEventMaintainer(threading.Thread): self, camera: CameraConfig, config: FrigateConfig, - camera_metrics: dict[str, CameraMetrics], + camera_metrics: DictProxy[str, CameraMetrics], audio_transcription_model_runner: AudioTranscriptionModelRunner | None, stop_event: threading.Event, ) -> None: diff --git a/frigate/stats/util.py b/frigate/stats/util.py index ca8906cf1..9a24813a3 100644 --- a/frigate/stats/util.py +++ b/frigate/stats/util.py @@ -5,6 +5,7 @@ import os import shutil import time from json import JSONDecodeError +from multiprocessing.managers import DictProxy from typing import Any, Optional import psutil @@ -53,7 +54,7 @@ def get_latest_version(config: FrigateConfig) -> str: def stats_init( config: FrigateConfig, - camera_metrics: dict[str, CameraMetrics], + camera_metrics: DictProxy[str, CameraMetrics], embeddings_metrics: DataProcessorMetrics | None, detectors: dict[str, ObjectDetectProcess], processes: dict[str, int],