This is 3rd version of my patch series for modular A2DP codec API and aptX support. v2 link: https://patchwork.freedesktop.org/series/46058/ This patch series provides new modular API for Bluetooth A2DP codecs, clean up module-bluez5-device and bluez5-util to be codec independent and convert SBC codec into this new API for A2DP codecs. Also it adds support for aptX and FastStream A2DP codecs. New codec API is designed in way, that for adding new codec is not needed to touch bluez5-util nor module-bluez5-device files. Whole codec registration is done in a2dp-codec-util.c file, without need to update any header file. New codec API is prepared for A2DP codec switching and for A2DP voice backchannel support, but this is not implemented yet. For every A2DP codec is created card profile. When using bluez patches from https://marc.info/?l=linux-bluetooth&m=154696260401673&w=2 then only those profiles codec profiles are created which are supported by remote headset/endpoint. In V3 series was fixed problems pointed by Tanu. With this new modular API it should be easy to add other codec support like MP3, AAC, aptX HD or LDAC. API is designed also for ability to register "more variants" or one A2DP codec. E.g. SBC codec forced to high quality, SBC codec forced to low quality, SBC codec with automatic quality. Once we agree on final version of codec API, I can prepare patches also for choosing above SBC codec quality. Pali Rohár (7): switch-on-port-available: Fix null pointer dereference bluetooth: policy: Remove BlueZ 4 related code bluetooth: policy: Reflect a2dp profile names bluetooth: Update a2dp-codecs.h from upstream bluez project bluetooth: Modular API for A2DP codecs bluetooth: Add A2DP aptX codec support bluetooth: Add A2DP FastStream codec support configure.ac | 36 ++ src/Makefile.am | 20 +- src/modules/bluetooth/a2dp-codec-api.h | 78 +++ src/modules/bluetooth/a2dp-codec-aptx.c | 330 +++++++++++ src/modules/bluetooth/a2dp-codec-faststream.c | 401 +++++++++++++ src/modules/bluetooth/a2dp-codec-sbc.c | 621 ++++++++++++++++++++ src/modules/bluetooth/a2dp-codec-util.c | 64 ++ src/modules/bluetooth/a2dp-codec-util.h | 34 ++ src/modules/bluetooth/a2dp-codecs.h | 354 +++++++++++- src/modules/bluetooth/bluez5-util.c | 702 ++++++++++++++-------- src/modules/bluetooth/bluez5-util.h | 38 +- src/modules/bluetooth/module-bluetooth-policy.c | 19 +- src/modules/bluetooth/module-bluez5-device.c | 740 ++++++++++-------------- src/modules/module-switch-on-port-available.c | 2 +- 14 files changed, 2718 insertions(+), 721 deletions(-) create mode 100644 src/modules/bluetooth/a2dp-codec-api.h create mode 100644 src/modules/bluetooth/a2dp-codec-aptx.c create mode 100644 src/modules/bluetooth/a2dp-codec-faststream.c 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 -- 2.11.0 _______________________________________________ pulseaudio-discuss mailing list pulseaudio-discuss@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss