This commit is contained in:
Nick Mowen 2023-06-19 07:11:49 -06:00
parent 6c1fda11f6
commit 5748efb352
2 changed files with 22 additions and 20 deletions

View File

@ -195,7 +195,7 @@ class AudioEventMaintainer(threading.Thread):
except FileExistsError: except FileExistsError:
pass pass
start_or_restart_ffmpeg( self.audio_listener = start_or_restart_ffmpeg(
self.ffmpeg_cmd, logger, self.logpipe, None, self.audio_listener self.ffmpeg_cmd, logger, self.logpipe, None, self.audio_listener
) )

View File

@ -72,26 +72,28 @@ class EventProcessor(threading.Thread):
except queue.Empty: except queue.Empty:
continue continue
logger.error(f"Event received: {source_type} {event_type} {camera} {event_data['id']}") logger.error(
f"Event received: {source_type} {event_type} {camera} {event_data['id']}"
self.timeline_queue.put(
(
camera,
source_type,
event_type,
self.events_in_process.get(event_data["id"]),
event_data,
)
) )
if source_type == EventTypeEnum.tracked_object: if source_type == EventTypeEnum.tracked_object:
self.timeline_queue.put(
(
camera,
source_type,
event_type,
self.events_in_process.get(event_data["id"]),
event_data,
)
)
if event_type == "start": if event_type == "start":
self.events_in_process[event_data["id"]] = event_data self.events_in_process[event_data["id"]] = event_data
continue continue
self.handle_object_detection(event_type, camera, event_data) self.handle_object_detection(event_type, camera, event_data)
elif source_type == EventTypeEnum.audio: elif source_type == EventTypeEnum.audio:
self.handle_audio_detection(event_type, camera, event_data) self.handle_audio_detection(event_type, event_data)
elif source_type == EventTypeEnum.api: elif source_type == EventTypeEnum.api:
self.handle_external_detection(event_type, event_data) self.handle_external_detection(event_type, event_data)
@ -217,7 +219,7 @@ class EventProcessor(threading.Thread):
self.event_processed_queue.put((event_data["id"], camera)) self.event_processed_queue.put((event_data["id"], camera))
def handle_audio_detection(self, type: str, event_data: Event) -> None: def handle_audio_detection(self, type: str, event_data: Event) -> None:
if type == "new": if type == "start":
event = { event = {
Event.id: event_data["id"], Event.id: event_data["id"],
Event.label: event_data["label"], Event.label: event_data["label"],
@ -235,14 +237,14 @@ class EventProcessor(threading.Thread):
Event.end_time: event_data["end_time"], Event.end_time: event_data["end_time"],
} }
( (
Event.insert(event) Event.insert(event)
.on_conflict( .on_conflict(
conflict_target=[Event.id], conflict_target=[Event.id],
update=event, update=event,
)
.execute()
) )
.execute()
)
def handle_external_detection(self, type: str, event_data: Event) -> None: def handle_external_detection(self, type: str, event_data: Event) -> None:
if type == "new": if type == "new":