namespace bmusb {
card_connected_callback_t BMUSBCapture::card_connected_callback = nullptr;
+bool BMUSBCapture::hotplug_existing_devices = false;
namespace {
// coming back with errors, so only care about devices joining.
if (card_connected_callback != nullptr) {
if (libusb_hotplug_register_callback(
- nullptr, LIBUSB_HOTPLUG_EVENT_DEVICE_ARRIVED, LIBUSB_HOTPLUG_NO_FLAGS,
+ nullptr, LIBUSB_HOTPLUG_EVENT_DEVICE_ARRIVED, hotplug_existing_devices ? LIBUSB_HOTPLUG_ENUMERATE : LIBUSB_HOTPLUG_NO_FLAGS,
USB_VENDOR_BLACKMAGIC, LIBUSB_HOTPLUG_MATCH_ANY, LIBUSB_HOTPLUG_MATCH_ANY,
&BMUSBCapture::cb_hotplug, nullptr, nullptr) < 0) {
fprintf(stderr, "libusb_hotplug_register_callback() failed\n");