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

Reply via email to