mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-05 10:45:21 +03:00
End events correctly
This commit is contained in:
parent
5748efb352
commit
f0a59da933
@ -51,8 +51,8 @@ def listen_to_audio(config: FrigateConfig, event_queue: mp.Queue) -> None:
|
||||
signal.signal(signal.SIGTERM, receiveSignal)
|
||||
signal.signal(signal.SIGINT, receiveSignal)
|
||||
|
||||
threading.current_thread().name = "process:recording_manager"
|
||||
setproctitle("frigate.recording_manager")
|
||||
threading.current_thread().name = "process:audio_manager"
|
||||
setproctitle("frigate.audio_manager")
|
||||
listen()
|
||||
|
||||
for camera in config.cameras.values():
|
||||
@ -170,6 +170,7 @@ class AudioEventMaintainer(threading.Thread):
|
||||
"id": event_id,
|
||||
"label": label,
|
||||
"camera": self.config.name,
|
||||
"score": score,
|
||||
"start_time": now - self.config.record.events.pre_capture,
|
||||
"last_detection": now,
|
||||
}
|
||||
@ -188,6 +189,7 @@ class AudioEventMaintainer(threading.Thread):
|
||||
self.queue.put(
|
||||
(EventTypeEnum.audio, "end", self.config.name, detection)
|
||||
)
|
||||
self.detections[detection["label"]] = None
|
||||
|
||||
def restart_audio_pipe(self) -> None:
|
||||
try:
|
||||
@ -216,3 +218,4 @@ class AudioEventMaintainer(threading.Thread):
|
||||
self.read_audio()
|
||||
|
||||
stop_ffmpeg(self.audio_listener, logger)
|
||||
self.pipe_file.close()
|
||||
|
||||
@ -219,23 +219,19 @@ class EventProcessor(threading.Thread):
|
||||
self.event_processed_queue.put((event_data["id"], camera))
|
||||
|
||||
def handle_audio_detection(self, type: str, event_data: Event) -> None:
|
||||
if type == "start":
|
||||
event = {
|
||||
Event.id: event_data["id"],
|
||||
Event.label: event_data["label"],
|
||||
Event.camera: event_data["camera"],
|
||||
Event.start_time: event_data["start_time"],
|
||||
Event.thumbnail: None,
|
||||
Event.has_clip: True,
|
||||
Event.has_snapshot: True,
|
||||
Event.zones: [],
|
||||
Event.data: {},
|
||||
}
|
||||
elif type == "end":
|
||||
event = {
|
||||
Event.id: event_data["id"],
|
||||
Event.end_time: event_data["end_time"],
|
||||
}
|
||||
event = {
|
||||
Event.id: event_data["id"],
|
||||
Event.label: event_data["label"],
|
||||
Event.score: event_data["score"],
|
||||
Event.camera: event_data["camera"],
|
||||
Event.start_time: event_data["start_time"],
|
||||
Event.end_time: event_data.get("end_time"),
|
||||
Event.thumbnail: "",
|
||||
Event.has_clip: True,
|
||||
Event.has_snapshot: True,
|
||||
Event.zones: [],
|
||||
Event.data: {},
|
||||
}
|
||||
|
||||
(
|
||||
Event.insert(event)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user