change send video thread to use asyncio.run because webserver thread does not use asyncio
This commit is contained in:
@@ -28,11 +28,12 @@ class CameraController(Node):
|
|||||||
self.server = None
|
self.server = None
|
||||||
self.event_loop = None
|
self.event_loop = None
|
||||||
|
|
||||||
|
self.websocket_thread = threading.Thread(target=self.start_websocket_server)
|
||||||
|
self.websocket_thread.start()
|
||||||
|
|
||||||
self.video_thread = threading.Thread(target=self.handle_video_connection)
|
self.video_thread = threading.Thread(target=self.handle_video_connection)
|
||||||
self.video_thread.start()
|
self.video_thread.start()
|
||||||
|
|
||||||
self.websocket_thread = threading.Thread(target=self.start_websocket_server)
|
|
||||||
self.websocket_thread.start()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -50,7 +51,7 @@ class CameraController(Node):
|
|||||||
return response
|
return response
|
||||||
|
|
||||||
async def handle_video_connection(self):
|
async def handle_video_connection(self):
|
||||||
asyncio.ensure_future(self.send_video(),loop=self.event_loop)
|
asyncio.run(self.send_video())
|
||||||
|
|
||||||
async def send_video(self):
|
async def send_video(self):
|
||||||
self.get_logger().info('Starting video thread')
|
self.get_logger().info('Starting video thread')
|
||||||
@@ -71,6 +72,7 @@ class CameraController(Node):
|
|||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.get_logger().error('Something went wrong while reading and sending video: ' + str(e))
|
self.get_logger().error('Something went wrong while reading and sending video: ' + str(e))
|
||||||
|
|
||||||
async def start_websocket_server(self):
|
async def start_websocket_server(self):
|
||||||
self.get_logger().info('Starting websocket server for video')
|
self.get_logger().info('Starting websocket server for video')
|
||||||
self.event_loop = asyncio.get_event_loop()
|
self.event_loop = asyncio.get_event_loop()
|
||||||
|
|||||||
Reference in New Issue
Block a user