![](https://secure.gravatar.com/avatar/586424ca0847070dc1868aa58077003e.jpg?s=120&d=mm&r=g)
Takashi Iwai wrote:
Clemens Ladisch wrote:
Takashi Iwai wrote:
[...] In the commit mentioned above, we changed the logic to take +25% frequency as the basis, and it my *reduce* if ep->maxpacksize is lower than that.
OTOH, if ep->maxpacksize is sane, we can rely on it rather than the implicit +25% frequency. That said, maybe we can check ep->maxpacksize whether it fits within the expected range, then adapt it, or take +25% freq as fallback?
You are describing how the current code behaves. The +25% limit _is_ what the code takes as the expected range.
Well, the question is what is the "sane" range. +25% doesn't fit for some devices.
The USB audio specification _requires_ that there is as little jitter as possible.
It's no surprise that some device violates the specification. But we don't know what the actual error is; whether we could adjust the packet size for this particular device only, or increase the limit for all devices, or use a completely different workaround.
If maxpacksize fits without +100% as this patch suggests, can we rely on it instead?
The packet size affect the following computations, like the number of packets per URB. I don't know how bad the effects would be.
Regards, Clemens