diff --git a/src/video.py b/src/video.py --- a/src/video.py +++ b/src/video.py @@ -1,8 +1,11 @@ import time import threading +import logging import cv2 as cv +log=logging.getLogger(__name__) + class VideoCapture: def __init__(self, video_source=0): @@ -27,7 +30,8 @@ class VideoCapture: else: return (False,None) - def shutDown(self): + def _shutDown(self): + log.info("Video proc exiting.") self._ownMessages.send("!kill",("video",)) self._shutdown=True @@ -35,8 +39,8 @@ class VideoCapture: self._ownMessages=ownMessages self._coreMessages=coreMessages - self.listenerThread=threading.Thread(target=lambda: ownMessages.listen(self._handleEvent)) - self.listenerThread.start() + self._listenerThread=threading.Thread(target=lambda: ownMessages.listen(self._handleEvent)) + self._listenerThread.start() t=0 while not self._shutdown: @@ -45,6 +49,7 @@ class VideoCapture: if res: self._coreMessages.send("putFrame",(frame,)) time.sleep(1) t+=1 + self._listenerThread.join() def __del__(self): if self._vid.isOpened(): @@ -52,7 +57,7 @@ class VideoCapture: def _handleEvent(self,e): actions={ - "shutDown": self.shutDown + "shutDown": self._shutDown } (actionName,args,kwargs)=e