Files
mucapy/mucapy/CameraScanThread.py

27 lines
886 B
Python

import sys
from PyQt5.QtCore import QThread, pyqtSignal
class CameraScanThread(QThread):
scan_finished = pyqtSignal(list, dict)
def __init__(self, detector, max_to_check=10, parent=None):
super().__init__(parent)
self.detector = detector
self.max_to_check = max_to_check
def run(self):
try:
cams = self.detector.scan_for_cameras(self.max_to_check)
names = {}
if sys.platform.startswith('win'):
try:
names = self.detector.get_camera_names_windows(cams)
except Exception as e:
print(f"Failed to get Windows camera names: {e}")
names = {}
self.scan_finished.emit(cams, names)
except Exception as e:
print(f"CameraScanThread error: {e}")
self.scan_finished.emit([], {})