[PATCH BlueZ,v10 0/3] ASHA plugin

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

 



Hi all,
Here's v10 of the patch, with some lints fixed. Also recapping the
rationale, plus some additional information on testing so far.

This is an implementation of the Android specification for streaming to
hearing aids over Bluetooth LE, ASHA[1]. ASHA predates the LE audio
specification, and has been supported in hearing aids for a while now,
so I think this is worth supporting as these devices should continue to
be in use for several years.

I've reused the MediaEndpoint1 and MediaTransport1 interfaces at Luiz'
suggestion. The flow is slightly different from A2DP and LE Audio in
that there isn't really a negotiation step, so the endpoint and
transport are both available on connection.

Also included is a script to stream arbitrary audio to an ASHA device,
which is handy for making sure that the implementation does work.

I have tested this against an implementation on a reference board, and
various folks in the community have also been kind enough to test the
WIP patches on various devices, so tested devices include:

  * onsemi RSL10 board, reference implementation from the onsemi
    forums[2]
  * Signia Styletto AX
  * Oticon More
  * Starkey Arc AI 1200

The current implementation is written with a single device in mind. My
plan is to take this to completion along with a PipeWire implementation
to expose a single device for playback, and then do a second pass to
support a pair of devices.

Cheers,
Arun

[1] https://source.android.com/docs/core/connect/bluetooth/asha
[2] https://onsemineworg.my.site.com/onsemisupportcenter/s/question/0D54V00006r9FUVSA2/dsp-initialisation-hangs-in-bleandroidashaod-code

Arun Raghavan (3):
  src/shared: Add initial implementation for an ASHA profile
  profiles/audio: Add an ASHA plugin
  test: Add a script to test ASHA

 Makefile.am                |   3 +-
 Makefile.plugins           |   5 +
 configure.ac               |   4 +
 lib/uuid.h                 |   3 +
 profiles/audio/asha.c      | 525 +++++++++++++++++++++++++++++++++++++
 profiles/audio/asha.h      |  38 +++
 profiles/audio/media.c     |  30 +++
 profiles/audio/media.h     |   2 +
 profiles/audio/transport.c | 201 +++++++++++++-
 src/shared/asha.c          | 359 +++++++++++++++++++++++++
 src/shared/asha.h          |  63 +++++
 test/simple-asha           | 166 ++++++++++++
 12 files changed, 1396 insertions(+), 3 deletions(-)
 create mode 100644 profiles/audio/asha.c
 create mode 100644 profiles/audio/asha.h
 create mode 100644 src/shared/asha.c
 create mode 100644 src/shared/asha.h
 create mode 100755 test/simple-asha

-- 
2.45.2





[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