camera.close() should be in a finally block to make sure that we don't
run out of resources because of failed camera initializations
This commit is contained in:
parent
69a03fa025
commit
b9360cf2c5
1 changed files with 42 additions and 34 deletions
|
@ -124,6 +124,9 @@ class CameraPiPlugin(CameraPlugin):
|
|||
|
||||
"""
|
||||
|
||||
camera = None
|
||||
|
||||
try:
|
||||
camera = self._get_camera(**opts)
|
||||
image_file = os.path.abspath(os.path.expanduser(image_file))
|
||||
|
||||
|
@ -141,9 +144,10 @@ class CameraPiPlugin(CameraPlugin):
|
|||
|
||||
if preview:
|
||||
camera.stop_preview()
|
||||
|
||||
camera.close()
|
||||
return {'image_file': image_file}
|
||||
finally:
|
||||
if camera:
|
||||
camera.close()
|
||||
|
||||
@action
|
||||
def capture_sequence(self, n_images, directory, name_format='image_%04d.jpg', preview=False, warmup_time=2,
|
||||
|
@ -179,6 +183,9 @@ class CameraPiPlugin(CameraPlugin):
|
|||
|
||||
"""
|
||||
|
||||
camera = None
|
||||
|
||||
try:
|
||||
camera = self._get_camera(**opts)
|
||||
directory = os.path.abspath(os.path.expanduser(directory))
|
||||
|
||||
|
@ -204,8 +211,9 @@ class CameraPiPlugin(CameraPlugin):
|
|||
if preview:
|
||||
camera.stop_preview()
|
||||
|
||||
camera.close()
|
||||
return {'image_files': images}
|
||||
finally:
|
||||
camera.close()
|
||||
|
||||
@action
|
||||
def start_time_lapse(self, directory, n_images=None, interval=0, warmup_time=2,
|
||||
|
|
Loading…
Reference in a new issue