On Wed, 10 Jan 2007, xiaoxin liu wrote: > > You can still keep the endpoint queue full, but the procedure isn't quite > > as reliable. All you have to do is submit enough URBs in advance so that > > the queue never gets empty, even given the normal overhead and latency of > > running user programs. So for example, let's assume that your system has > > 100-ms latency for task-switching to your program. Then you would need to > > keep at least 100 ms worth of data in the endpoint queue at all times. > > It doesn't all have to be in one URB; in fact you're better off splitting > > it among several URBs. For instance, you might submit 5 URBs, each of > > which contains 25 ms of data. > > > you mean while doing isochronous transfer in user space I should submit > servel URBs > together in the first time. Then resubmit urb in each urb's completion > handler. Am I right?
Yes, that's right. The resubmission doesn't have to occur in the completion handler (although that is the easiest way to do it). Just submit a new URB sufficiently quickly that the queue never gets empty. Alan Stern ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel