On Tue, 23 Apr 2013, Clemens Ladisch wrote:
Alan Stern wrote:
On Tue, 23 Apr 2013, Clemens Ladisch wrote:
Why is having a queue of two URB with one packet each suddenly not allowed?
It _is_ allowed when URB_ISO_ASAP is clear. I have never fully understood why the audio driver sets that flag. By setting it, you are telling the host controller driver that you are willing to give up reduced latency in order to avoid underruns.
This flag was needed to avoid having to set urb->start_frame.
Ah, okay. It is now unnecessary to set urb->start_frame; in fact that field is now output-only.
(To be fair, I haven't checked _all_ the HCDs in this regard, just uhci-hcd, ohci-hcd, and ehci-hcd. However, if any other HCD requires urb->start_frame to be set then that HCD should be considered buggy and should be fixed.)
With the changed queueing API, the audio driver needs to change too. I'll look into this ...
Let me know if you have any questions.
Alan Stern
-- To unsubscribe from this list: send the line "unsubscribe alsa-devel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html