FIX: Handle `stop_streaming` exceptions in the main loop of the camera plugin.
continuous-integration/drone/push Build is passing Details

Otherwise camera process teardown errors may bubble up and prevent the
plugin from restarting the streaming.
This commit is contained in:
Fabio Manganiello 2024-02-24 21:36:08 +01:00
parent 8999a226b1
commit 4c92bdd11c
Signed by: blacklight
GPG Key ID: D90FBA7F76362774
1 changed files with 7 additions and 1 deletions

View File

@ -1035,7 +1035,13 @@ class CameraPlugin(RunnablePlugin, ABC):
camera = cameras[0]
wait_for_either(self._should_stop, camera.stop_stream_event)
self.stop_streaming()
try:
self.stop_streaming()
except Exception as e:
self.logger.warning('Error while stopping the camera stream: %s', e)
finally:
self.wait_stop(timeout=2)
# vim:sw=4:ts=4:et: