The following passages are from linux/Documentation/usb/URB.txt. "After completing one URB, the next one can be automatically submitted. This is especially useful for ISO transfers: You only have read/write the data from/to the buffers in the completion handler, the continuous streaming itself is transparently done by the URB-machinery."
Ok, it *can* be automatically resubmitted, but how? "Usually, to reduce restart time, the completion handler is called AFTER the URB re-submission." Ok, but under what circumstances is it resubmitted? "For ISO there are two startup behaviors: Specified start_frame or ASAP. For ASAP set USB_ISO_ASAP in transfer_flags." Ok -- seems to say that ASAP will send the urb at the first opportunity and ~ASAP will try to send the urb in the frame specified by the start_frame field. Make sense. "For isochronous endpoints, subsequent submitting of URBs to the same endpoint with the ASAP flag result in a seamless ISO streaming." What does 'seamless streaming' mean? Does this mean urbs with the ASAP flag are automatically resubmitted? Not clear. "Exception: The execution cannot be scheduled later than 900 frames from the 'now'-time. The same applies to INT transfers, but here the seamless continuation is independent of the transfer flags (implicitly ASAP)." Lost me here. If the ASAP flag is set then I'm not using scheduling, right? This 900 frame limit must apply to urbs where ASAP is *not* set and I'm using the start_frame field, right? Regards, --gmcnutt _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
