Made the fps variable adapt to what the camera is capable of.

Old solution set fps to a user-supplied value and attempted to read at that frequency, while assuming that the camera would/could cooperate.