On 10/9/06, David Brownell <[EMAIL PROTECTED]> wrote: > The gap is inherent in having let the stream empty. Once that happens, > given IRQ latencies there aren't many good controls over how much of > a gap exists. The original notion of SLOP would not have kicked in > there ... if your patches added it, yes that would make extra trouble.
Yes, I extended what the slop meant by accident, and that is a bug. > But the root cause is still that streaming ISO with just one URB is > not a viable approach ... the driver on top of usbcore was doing the > wrong thing. I understand now that's the fundamental Linux design, but only Linux seems to implement it this way. MacOSX can do 2ms sample/play reliably, so we can say with certainty that it's not queuing multiple URBs. So can Windows, and ditto. If we're not going to change our design, fine, but we must also admit the current situation is preventing a real-world use case users are asking for. I'm all for leaving the situation in place if we can find a way to get the low latency behavior with it. 1ms per URB does not yet practically get us down to 5ms, especially given IRQ latency and other slop. The buffering issue due to requiring multiple URBs will never get us theoretically lower than 4ms (more like double that in practice). FWIW, I'm suggesting not a fundamental redesign, but the following: a) do not release the schedule until it would have XRUN (wait for an empty slot) b) a release time 'completion' at the XRUN point (when the next scheduled slot would go by unfilled) to give usbaudio a chance to push out a dummy URB if it desires to keep the ISO going. I'd love to keep the special-casing of low-latency to a minimum, as I'm sure everyone would. This allows one-URB-deep buffers with relatively little change. Monty ------------------------------------------------------------------------- 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