@@ -355,15 +355,19 @@ def get_cv2camera(self, index: int) -> CV2Camera | None:
355355
356356 return None
357357
358+ def _get_camera (self , camera_name : str | int , index : int ) -> TypeSomeCamera | None :
359+ # default is opencv, since pygame doesnt work on mac
360+ return self .get_cv2camera (index ) or self .get_pygame_camera (camera_name , index )
361+
358362 def get_valid_cameras (self ) -> List [Tuple [int , str , TypeSomeCamera ]]:
359363 valid_cameras : List [Tuple [int , str , TypeSomeCamera ]] = []
360364 for index , camera_name in enumerate (pygame .camera .list_cameras ()):
361- temp_camera = self .get_pygame_camera (camera_name , index ) or self . get_cv2camera ( index )
365+ temp_camera = self ._get_camera (camera_name , index )
362366 if temp_camera :
363367 valid_cameras .append ((index , camera_name , temp_camera ))
364368
365369 if not valid_cameras :
366- temp_camera = self .get_pygame_camera (0 , 0 ) or self . get_cv2camera ( 0 )
370+ temp_camera = self ._get_camera (0 , 0 )
367371 if temp_camera :
368372 valid_cameras .append ((0 , str (0 ), temp_camera ))
369373
@@ -520,8 +524,8 @@ def update_frame(self):
520524 if self .current_camera :
521525 try :
522526 surface = self .current_camera .get_image ()
523- except :
524- # logger.debug("Could not get image" )
527+ except Exception as e :
528+ logger .debug (str ( e ) )
525529 return
526530 else :
527531 return
0 commit comments