Prefs question: Use extra large network socket buffer
Comments
-
When a packet arrives from the network, it is first read into a network socket buffer. Subsequently, whatever app is using the network connection (in this case SecuritySpy) will read the data out of this buffer for processing. If the socket buffer is full when a packet arrives, the sender (in this case the IP camera) gets notified to resend the data in the future. Unfortunately not all cameras deal with this situation well: some will temporary reduce their frame rate (which is the best thing to do), but others will simply drop packets or whole video frames, resulting in a corrupt video stream (a Very Bad thing to do, but surprisingly common).
So this socket-buffer-full situation should be avoided at all costs. One way to minimise the chance of this is to use an extra-large socket buffer, which is what this option does.
SecuritySpy used to always employ extra-large socket buffers, however we found that this caused problems in macOS 11 Big Sur on some machines (for unknown reasons), so in SecuritySpy 5.3 and onwards we reverted to using standard socket buffer sizes. Instead, SecuritySpy now checks the socket for new data far more frequently, which is an alternative strategy to minimise the chance of filling the buffer.
This option was added when we made the above change, so that if the change negatively affected some users, we could instruct them to try this option to try to fix any problems. Fortunately, we haven't had any reports of problem due to this change - if anything, the new strategy of using standard socket sizes and checking for new data more frequently is working better than the old method of using extra-large socket sizes and checking for new data less frequently.
