VirtualBox

Changeset 57896 in vbox


Ignore:
Timestamp:
Sep 25, 2015 2:07:17 PM (10 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
102866
Message:

USB/win: Fixed scheduling of high-speed isochronous endpoints.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/VBoxUSB/win/dev/VBoxUsbRt.cpp

    r56293 r57896  
    13431343                if ((iFrame < iStartFrame) || (iStartFrame > iFrame + 512))
    13441344                    iFrame = iStartFrame;
    1345                 pPipeInfo->NextScheduledFrame = iFrame + pUrbInfo->numIsoPkts;
     1345                /* For full-speed devices, there must be one transfer per frame (Windows USB
     1346                 * stack requirement), but URBs can contain multiple packets. For high-speed or
     1347                 * faster transfers, we expect one URB per frame, regardless of the interval.
     1348                 */
     1349                if (pDevExt->Rt.devdescr->bcdUSB < 0x300 && !pDevExt->Rt.fIsHighSpeed)
     1350                    pPipeInfo->NextScheduledFrame = iFrame + pUrbInfo->numIsoPkts;
     1351                else
     1352                    pPipeInfo->NextScheduledFrame = iFrame + 1;
    13461353                pUrb->UrbIsochronousTransfer.StartFrame = iFrame;
    13471354                break;
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette