New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Eye window crashes when mistakenly selecting my webcam as source #1878
Comments
pyuvc only defines these three values. It is an implementation of this spec. See |
Indeed it seems we implemented UVC 1.1 from 2005. I feel like this might be something we should check against? |
I had a quick look and it seems the USB specification includes an Specifically, UVC 1.1 only has one valid value for this: UVC 1.5 additionally adds We can probably filter for the non-1.5 version in our custom libuvc fork: /* Video, Streaming */
if (if_desc->bInterfaceClass == 14 && if_desc->bInterfaceSubClass == 2) {
got_interface = 1;
} There is already some other filtering happening on the |
The question is, if we want to limit our libuvc fork to UVC 1.1 devices, or whether we want to expose this setting to the outside. The second option would require a change to pyuvc and Pupil as well in order to make it work. |
I suggest adding support for that attribute in libuvc, and only accepting UVC 1.1 devices in pyuvc as it does not support later protocol versions. This way we do not need to adjust Pupil. |
I enabled Manual Camera Selection and miss-clicked on my webcam instead of the Pupil cam.
As a result the eye window crashed beyond recovery and only restarting Capture solved the issue.
See log
The error happens when drawing the UI for the UVC control Power Line frequency with:
pupil/pupil_src/shared_modules/video_capture/uvc_backend.py
Lines 808 to 813 in b3dda8c
The debugger shows:
which obviously does not work. Not sure if this a bug in pyuvc?
The text was updated successfully, but these errors were encountered: