End events correctly

This commit is contained in:
Nick Mowen 2023-06-19 07:32:31 -06:00
parent 5748efb352
commit f0a59da933
2 changed files with 18 additions and 19 deletions

View File

@ -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()

View File

@ -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)