Re: Default to HW mSBC on capable controllers ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Friday 18 December 2020 13:32:29 Joakim Tjernlund wrote:
> There seems to be quite a few USB controllers gaining the BTUSB_WIDEBAND_SPEECH which I guess means HW mSBC

No, it does not mean mSBC.

If you want to query if your bluetooth adapter supports hw mSBC then you
need to check OCF_READ_LOCAL_CODECS command. You can look into script
sco_features.pl for details.

Note that currently it is not possible to send OCF_READ_LOCAL_CODECS
command from non-root user as kernel currently does not allow it.

> but currently there is no way to select this mode.

Yes. "/bin/hciconfig voice" allows to set only voice settings for old
Add Synchronous Connection HCI command which does not support hw mSCB.

> Any idea if one could patch the kernel to default to HW mSBC and user apps like bluealsa/pulseaudio would just use it automatically?

For usage mSBC hw encoder you need to use Enhanced Setup Synchronous
Connection HCI command for establishing SCO connection.

For using HW encoder you need to stop feeding socket with mSBC encoded
data and instead put into this socket RAW pcm samples. Also you need
somehow inform kernel about this change.

For both things I designed new setsockopt() API which I described in:
https://lore.kernel.org/linux-bluetooth/20200419234937.4zozkqgpt557m3o6@pali/



[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux