X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=bmusb.cpp;h=09473fd9f6ca4f839435bedbc1e2838cd100b35e;hb=92708386b8ea2a63b99c20e6a5f6beff3d9311ac;hp=ec3eac2918313e36258649357f7f27385f42a111;hpb=0d48ad939040ec561e67ab2329e3961843b3cf74;p=bmusb diff --git a/bmusb.cpp b/bmusb.cpp index ec3eac2..09473fd 100644 --- a/bmusb.cpp +++ b/bmusb.cpp @@ -51,6 +51,7 @@ using namespace std::placeholders; namespace bmusb { card_connected_callback_t BMUSBCapture::card_connected_callback = nullptr; +bool BMUSBCapture::hotplug_existing_devices = false; namespace { @@ -1346,7 +1347,7 @@ void BMUSBCapture::start_bm_thread() // 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");