@@ -57,25 +57,29 @@ def __init__(self):
57
57
super (Camera , self ).__init__ ()
58
58
59
59
def run (self ):
60
- self ._camera .grab_start ()
61
- while self ._run :
62
- if time .time () - self ._image_time > CAMERA_REFRESH_INTERVAL :
63
- ts = time .time ()
64
- #print "run.1"
65
- self ._image_lock .acquire ()
66
- self ._camera .grab_one ()
67
- self ._image_lock .release ()
68
- #print "run.2: " + str(time.time()-ts)
69
- #self.save_image(image.Image(self._camera.get_image_bgr()).open().binarize().to_jpeg())
70
- self .save_image (self ._camera .get_image_jpeg ())
71
- #print "run.3: " + str(time.time()-ts)
72
- else :
73
- time .sleep (CAMERA_REFRESH_INTERVAL - (time .time () - self ._image_time ))
74
-
75
- if self .recording and time .time () - self .video_start_time > VIDEO_ELAPSE_MAX :
76
- self .video_stop ()
77
-
78
- self ._camera .grab_stop ()
60
+ try :
61
+ self ._camera .grab_start ()
62
+ while self ._run :
63
+ if time .time () - self ._image_time > CAMERA_REFRESH_INTERVAL :
64
+ ts = time .time ()
65
+ #print "run.1"
66
+ self ._image_lock .acquire ()
67
+ self ._camera .grab_one ()
68
+ self ._image_lock .release ()
69
+ #print "run.2: " + str(time.time()-ts)
70
+ #self.save_image(image.Image(self._camera.get_image_bgr()).open().binarize().to_jpeg())
71
+ self .save_image (self ._camera .get_image_jpeg ())
72
+ #print "run.3: " + str(time.time()-ts)
73
+ else :
74
+ time .sleep (CAMERA_REFRESH_INTERVAL - (time .time () - self ._image_time ))
75
+
76
+ if self .recording and time .time () - self .video_start_time > VIDEO_ELAPSE_MAX :
77
+ self .video_stop ()
78
+
79
+ self ._camera .grab_stop ()
80
+ except :
81
+ logging .error ("Unexpected error:" + str (sys .exc_info ()[0 ]))
82
+ raise
79
83
80
84
def get_image (self , maxage = MAX_IMAGE_AGE ):
81
85
return image .Image (self ._camera .get_image_bgr ())
0 commit comments