PERFORCE change 162889 for review

Hans Petter Selasky hselasky at c2i.net
Wed May 27 19:56:05 UTC 2009


On Wednesday 27 May 2009, Sylvestre Gallon wrote:
> On Wed, May 27, 2009 at 7:29 PM, Hans Petter Selasky <hselasky at c2i.net> 
wrote:
> > On Wednesday 27 May 2009, Sylvestre Gallon wrote:
> >> +       case LIBUSB_TRANSFER_TYPE_ISOCHRONOUS:
> >> +               /* what means frindex ? */
> >> +               libusb20_tr_setup_isoc(usb20_xfer, xfer->buffer,
> >> xfer->length, 0);
> >
> > Unlike in the kernel you need to specify the buffer+length pair for all
> > ISOCHRONOUS frames up to and including "max_frames-1".
> >
> > In you code you have only setup one frame [index 0] .
>
> ok,
>
> if I understand fr_index arguments in libusb20_tr_setup_isoc refers to
> the number of isochronous packets ?

It is the index of the isochronous packet. You setup a transfer of multiple 
isochronous packets at a time, and typically initialise like this:

for (i = 0; i != MAX_FRAMES; i++) {
   libusb20_tr_setup_isoc(usb20_xfer, buf, MAX_LEN, i);
   buf += MAX_LEN;
}

With regard to libusb 1.0 you need to check that structure array extending the 
USB transfer for length and pointer information I think.

!NOTE! The userland libusb allowes a per-packet pointer. In the kernel the 
packets must be back to back, and only one buffer pointer is used.

--HPS


More information about the p4-projects mailing list