[pulseaudio-discuss] [PATCH v8 03/12] bluetooth: Modular API for A2DP codecs
Tanu Kaskinen
tanuk at iki.fi
Fri Apr 12 12:22:20 UTC 2019
On Sat, 2019-04-06 at 11:15 +0200, Pali Rohár wrote:
> This patch introduce new modular API for bluetooth A2DP codecs. Its
> benefits are:
>
> * bluez5-util and module-bluez5-device does not contain any codec specific
> code, they are codec independent.
>
> * For adding new A2DP codec it is needed just to adjust one table in
> a2dp-codec-util.c file. All codec specific functions are in separate
> codec file.
>
> * Support for backchannel (microphone voice). Some A2DP codecs (like
> FastStream or aptX Low Latency) are bi-directional and can be used for
> both music playback and audio call.
>
> * Support for more configurations per codec. This allows to implement low
> quality mode of some codec together with high quality.
>
> Current SBC codec implementation was moved from bluez5-util and
> module-bluez5-device to its own file and converted to this new A2DP API.
> ---
> src/Makefile.am | 12 +-
> src/modules/bluetooth/a2dp-codec-api.h | 95 ++++
> src/modules/bluetooth/a2dp-codec-sbc.c | 638 +++++++++++++++++++++++++++
> src/modules/bluetooth/a2dp-codec-util.c | 56 +++
> src/modules/bluetooth/a2dp-codec-util.h | 34 ++
> src/modules/bluetooth/bluez5-util.c | 347 +++++----------
> src/modules/bluetooth/bluez5-util.h | 5 +
> src/modules/bluetooth/module-bluez5-device.c | 562 ++++++++---------------
> 8 files changed, 1127 insertions(+), 622 deletions(-)
> create mode 100644 src/modules/bluetooth/a2dp-codec-api.h
> create mode 100644 src/modules/bluetooth/a2dp-codec-sbc.c
> create mode 100644 src/modules/bluetooth/a2dp-codec-util.c
> create mode 100644 src/modules/bluetooth/a2dp-codec-util.h
Looks good! Just one small thing: there are still a couple of places in
a2dp-codec-sbc.c where 254 is used instead of MAX_A2DP_CAPS_SIZE. No
need to resubmit just because of that, I can fix that up myself.
I pushed the first 6 patches now, I'll continue reviewing the rest next
week.
--
Tanu
https://www.patreon.com/tanuk
https://liberapay.com/tanuk
More information about the pulseaudio-discuss
mailing list