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.
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.