No Way To Detect Occasional Failed Bulk Transfers
The libusb callback ( http://git.osmocom.org/rtl-sdr/tree/src/librtlsdr.c?id=a854ae8b48d42e8dad514c75d3a4c6cfb62707da#n1697 ) detects when a transfer is failed, and increments a count. It presumes a failed transfer indicates the device has been removed, and waits for all transfers to fail.
There is no accommodation for intermittent failures, which I'm assuming are theoretically possible. In such a case, the number of buffers active would drop by the number of failures, and after enough failures had accumulated, the device would be assumed missing when it was actually still there. Most notably, the callback is never informed in the case of failed transfers, which are important for stream integrity.
I think it would be good to at least inform the callback when a buffer was not received, perhaps by passing a length of 0. This behavior could be toggled with an option.