Fix webcamd daemon loop & handling of non-usb v4l2 devices #741
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
To fix #740 and restore the old behaviour of
webcamd
instead of having to rely on the startup to take care of regular polling, instead of existing after bringing up all devices in the background, we will now wait for all child processes to exit. Once that is the case, we'll reset the camera array, sleep 120s and restart the discovery process.While debugging #740 I also noticed a bug when interacting with the RPi Camera v4l2 device files, which don't have a USB vid and pid and hence produced a syntax error when trying to convert those empty strings into hex for matching against the broken fps device list.
Finally, I found a bunch of typos or weird phrasing and also added some whitespace lines for easier readability.
Would be lovely if @usk-johnny-s could also take a look at the logic here, as I'm not familiar with their multi cam support code added in #597 and am not 100% sure I fully understood the meaning of the various arrays.