add basic support for SCO packets over USB#896
Conversation
|
@barbibulle This PR doesn't work with Intel controllers - but I asked Gemini to fix it #930, and now I can receive SCO but only with CVSD, but I guess transparent packets may work. It seems the major difference is that alt setting must be set dynamically? And also input packets must be properly segmented. |
b2893f2 to
9b2e345
Compare
|
Sure, I rebased it and pushed to #930. |
Thanks. |
|
Checking on BE200, CVSD is also support. mSBC codec is not supported (despite claimed in supported codec command), but transparent is supported, so we can encode and decode them in host. |
zxzxwu
left a comment
There was a problem hiding this comment.
@barbibulle Thanks! What's your plan for this PR? We would like to use BE200 for some purposes especially on SCO and ISO.
| sink.start() | ||
|
|
||
| # Create a thread to process events | ||
| self.event_thread = threading.Thread(target=self.run) |
|
I was thinking of just adding the outgoing packet splitting and then try to merge it, then add the multi-packet input parsing as a second PR (this will address an issue reported earlier). For Intel controllers, we can either document that some alternate settings may not work, and that users should select a setting other than 6 manually, or we can make the auto-selection skip config 6, but that may not be ideal, since it might not be broken on all controllers, and since it has a larger packet size, may be more efficient. What do you think? |
|
Maybe we can allow passing a spec to select alt settings with a filter? For example:
|
Still WIP