diff --git a/openflexure_microscope/camera/pi.py b/openflexure_microscope/camera/pi.py index 634a0f11..7dd40b03 100644 --- a/openflexure_microscope/camera/pi.py +++ b/openflexure_microscope/camera/pi.py @@ -243,9 +243,10 @@ class StreamingCamera(BaseCamera): def stop_preview(self) -> bool: """Stop the on board GPU camera preview.""" - self.camera.stop_preview() - self.state['preview_active'] = False - time.sleep(0.2) + with self.lock: + self.camera.stop_preview() + self.state['preview_active'] = False + time.sleep(0.2) return True def start_recording(