I'd like to use implicit feedback instead,
Why?
Two reasons :
- The Apple app notes seem to say it's the best way to do things, and I'd like it to also work on Macs. But I'm not married to Apple, and it seems Macs also support explicit feedback, so this isn't a very important point.
- Implicit feedback would use one less IN endpoint, and that would be useful.
- Is it actually supported ?
Yes.
OK !
The usage mask of bmAttributes of the endpoint should be USB_ENDPOINT_USAGE_IMPLICIT_FB, along with some other constraints. See set_sync_endpoint() in sound/usb/pcm.c
I have read this source code before but I'm not sure what the second parameter of "get_endpoint(alts, 1)" really means, does it imply that an altsetting has to have 2 endpoints and it takes the second one, but in which order ? order of definition in descriptors, endpoint number ?...
But is it bmAttributes in the playback endpoint descriptor, or its buddy capture endpoint ? The USB docs are quite vague and I see several possible interpretations ... Does the playback AudioStreaming descriptor need to have 1 endpoint, or 2 ?... I've tried various combinations with the latest stable linux kernel, none worked. Do I need to set bAssocTerminal ?
Thanks ;)