public inbox for linux-bluetooth@vger.kernel.org
 help / color / mirror / Atom feed
From: Pauli Virtanen <pav@iki.fi>
To: linux-bluetooth@vger.kernel.org
Cc: Pauli Virtanen <pav@iki.fi>
Subject: [PATCH BlueZ v3 0/7] Add TMAP & GMAP information services
Date: Tue,  2 Dec 2025 22:47:45 +0200	[thread overview]
Message-ID: <cover.1764708372.git.pav@iki.fi> (raw)

Add support for TMAP and GMAP services. They contain only device
audio capability bitmasks.

v3:
- rename after_uuids -> after_services + make it a struct
- add tests for btd_profile_sort_list()
- leave it as the GSList version for now, tests use queue
- add commits to mark VCP connected only after its attach has finished

v2:
- Rework the service wait to be general mechanism that also determines
  the service autoconnect order.

  This is now slightly more involved, but this sort of "soft" ordering
  dependency must know which services the autoconnect mechanism is going
  to start.

  Sorting autoconnect services is one of the ways to do it, probably
  makes sense also otherwise, and we could insert service conflict
  handling at the same place.

- Make org.bluez.MediaEndpoint::SupportedFeatures per-uuid dict

---

Expose the values from remote devices in
org.bluez.MediaEndpoint->SupportedFeatures

This maybe could also be org.bluez.Device->SupportedFeatures instead,
but MediaEndpoint looks OK too.

Sound server can use theses to determine which mandatory capabilities
devices have.

TODO (maybe later): add way to configure advertised local service
values, e.g.  via config file.

Pauli Virtanen (7):
  profile: add after_services for ordering profile startup
  test-profile: add tests for profile sorting
  device: use after_services in service autoconnect and sort also GATT
  service: implement btd_profile::after_services callback
  bap: have unicast client wait for VCS & TMAS & GMAP
  shared/vcp: add ready callback to bt_vcp_attach()
  vcp: wait until client ready before marking profile connected

 .gitignore           |   1 +
 Makefile.am          |  22 ++-
 profiles/audio/bap.c |  36 ++++-
 profiles/audio/vcp.c |  11 +-
 src/device.c         |  74 ++++++++--
 src/profile.c        |  90 +++++++++++
 src/profile.h        |  26 ++++
 src/service.c        | 106 +++++++++++++
 src/shared/vcp.c     |  29 +++-
 src/shared/vcp.h     |   3 +-
 unit/btd.c           |  41 ++++++
 unit/test-profile.c  | 344 +++++++++++++++++++++++++++++++++++++++++++
 12 files changed, 758 insertions(+), 25 deletions(-)
 create mode 100644 unit/btd.c
 create mode 100644 unit/test-profile.c

-- 
2.51.1


             reply	other threads:[~2025-12-02 20:48 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-02 20:47 Pauli Virtanen [this message]
2025-12-02 20:47 ` [PATCH BlueZ v3 1/7] profile: add after_services for ordering profile startup Pauli Virtanen
2025-12-02 20:47 ` [PATCH BlueZ v3 2/7] test-profile: add tests for profile sorting Pauli Virtanen
2025-12-02 20:47 ` [PATCH BlueZ v3 3/7] device: use after_services in service autoconnect and sort also GATT Pauli Virtanen
2025-12-02 20:47 ` [PATCH BlueZ v3 4/7] service: implement btd_profile::after_services callback Pauli Virtanen
2025-12-02 20:47 ` [PATCH BlueZ v3 5/7] bap: have unicast client wait for VCS & TMAS & GMAP Pauli Virtanen
2025-12-02 20:47 ` [PATCH BlueZ v3 6/7] shared/vcp: add ready callback to bt_vcp_attach() Pauli Virtanen
2025-12-02 20:47 ` [PATCH BlueZ v3 7/7] vcp: wait until client ready before marking profile connected Pauli Virtanen
2025-12-03 21:30 ` [PATCH BlueZ v3 0/7] Add TMAP & GMAP information services patchwork-bot+bluetooth
2025-12-03 21:56   ` Luiz Augusto von Dentz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1764708372.git.pav@iki.fi \
    --to=pav@iki.fi \
    --cc=linux-bluetooth@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox