OS X: Do not assume HS when submitting isochronous transfer
authorVegard Storheil Eriksen <zyp@jvnv.net>
Tue, 12 Mar 2013 15:30:05 +0000 (23:30 +0800)
committerPete Batard <pete@akeo.ie>
Tue, 12 Mar 2013 22:54:15 +0000 (22:54 +0000)
* Closes #99

libusb/os/darwin_usb.c
libusb/version_nano.h

index 47d7961..08bd7f0 100644 (file)
@@ -1445,7 +1445,10 @@ static int submit_iso_transfer(struct usbi_transfer *itransfer) {
                                                               transfer->num_iso_packets, tpriv->isoc_framelist, darwin_async_io_callback,
                                                               itransfer);
 
-  cInterface->frames[transfer->endpoint] = frame + transfer->num_iso_packets / 8;
+  if (transfer->dev_handle->dev->speed == LIBUSB_SPEED_FULL)
+    cInterface->frames[transfer->endpoint] = frame + transfer->num_iso_packets;
+  else
+    cInterface->frames[transfer->endpoint] = frame + transfer->num_iso_packets / 8;
 
   if (kresult != kIOReturnSuccess) {
     usbi_err (TRANSFER_CTX (transfer), "isochronous transfer failed (dir: %s): %s", IS_XFERIN(transfer) ? "In" : "Out",
index a4acadb..bd8f428 100644 (file)
@@ -1 +1 @@
-#define LIBUSB_NANO 10627
+#define LIBUSB_NANO 10628