From 0c6c3206f805b88509b1489be35ec2f45da43b04 Mon Sep 17 00:00:00 2001 From: Mark Jessop Date: Sat, 21 Sep 2024 17:12:43 +0930 Subject: [PATCH] Break apart stop and close operations on the picamera2 object, in case the camera is already stopped. --- tx/WenetPiCamera2.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/tx/WenetPiCamera2.py b/tx/WenetPiCamera2.py index 2d7f986..65b7107 100644 --- a/tx/WenetPiCamera2.py +++ b/tx/WenetPiCamera2.py @@ -189,8 +189,14 @@ class WenetPiCamera2(object): print(message) def close(self): - self.cam.stop() - self.cam.close() + try: + self.cam.stop() + except: + self.debug_message("Stopping camera object failed.") + try: + self.cam.close() + except: + self.debug_message("Closing camera object failed.") def capture(self, filename='picam.jpg', quality=90): """ Capture an image using the PiCam @@ -353,8 +359,13 @@ class WenetPiCamera2(object): self.debug_message("Capture failed! Attempting to reset camera...") + # Try and stop, then close the camera object. try: self.cam.stop() + except: + self.debug_message("Stopping camera object failed.") + + try: self.cam.close() except: self.debug_message("Closing camera object failed.")