bluetooth: Adds A2DP AAC, aptX(HD), LDAC codecs

Submitted by Huang-Huang Bao on Dec. 29, 2018, 3:48 p.m.

Details

Reviewer None
Submitted Dec. 29, 2018, 3:48 p.m.
Last Updated Dec. 29, 2018, 6:59 p.m.
Revision 1

Cover Letter(s)

Revision 1
      Pasi Kärkkäinen, thanks for reminding.


v3 changes:
    Use the latest "a2dp-codec.h" from bluez git.

    a2dp-api:
        Change "set_configuration" to "validate_configuration" in struct pa_a2dp_codec

        "struct a_a2dp_freq_cap" -> "struct pa_a2dp_freq_cap"

    Add copyright texts


v1/v2:
    Dependent on FDK-AAC >= 0.1.5, ffmpeg >= 4.0, libldac
    (https://android.googlesource.com/platform/external/libldac,
    https://github.com/EHfive/ldacBT)

    Configure codec by ` load-module module-bluetooth-discover
    a2dp_config=<proplist> `

    Origin: https://github.com/EHfive/pulseaudio-modules-bt/tree/pulseaudio_repo

Huang-Huang Bao (4):
  A2DP api with multi-codec support
  Add A2DP AAC codec support
  Add A2DP aptX, aptX HD codecs support
  Add A2DP LDAC codec source support

 configure.ac                                  |  46 +-
 src/Makefile.am                               |  39 +-
 src/modules/bluetooth/a2dp-codecs.h           | 115 ---
 src/modules/bluetooth/a2dp/a2dp-api.h         | 215 +++++
 src/modules/bluetooth/a2dp/a2dp-codecs.h      | 453 +++++++++++
 src/modules/bluetooth/a2dp/a2dp_aac.c         | 762 ++++++++++++++++++
 src/modules/bluetooth/a2dp/a2dp_aptx.c        | 617 ++++++++++++++
 src/modules/bluetooth/a2dp/a2dp_ldac.c        | 605 ++++++++++++++
 src/modules/bluetooth/a2dp/a2dp_sbc.c         | 679 ++++++++++++++++
 src/modules/bluetooth/a2dp/a2dp_util.c        | 440 ++++++++++
 src/modules/bluetooth/{ => a2dp}/rtp.h        |   0
 src/modules/bluetooth/bluez5-util.c           | 308 +++----
 src/modules/bluetooth/bluez5-util.h           |   7 +
 src/modules/bluetooth/module-bluez5-device.c  | 461 ++++-------
 .../bluetooth/module-bluez5-discover.c        |  15 +-
 15 files changed, 4123 insertions(+), 639 deletions(-)
 delete mode 100644 src/modules/bluetooth/a2dp-codecs.h
 create mode 100644 src/modules/bluetooth/a2dp/a2dp-api.h
 create mode 100644 src/modules/bluetooth/a2dp/a2dp-codecs.h
 create mode 100644 src/modules/bluetooth/a2dp/a2dp_aac.c
 create mode 100644 src/modules/bluetooth/a2dp/a2dp_aptx.c
 create mode 100644 src/modules/bluetooth/a2dp/a2dp_ldac.c
 create mode 100644 src/modules/bluetooth/a2dp/a2dp_sbc.c
 create mode 100644 src/modules/bluetooth/a2dp/a2dp_util.c
 rename src/modules/bluetooth/{ => a2dp}/rtp.h (100%)
    

Revisions