public inbox for linux-bluetooth@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH BlueZ v3 0/7] Add TMAP & GMAP information services
@ 2025-12-02 20:47 Pauli Virtanen
  2025-12-02 20:47 ` [PATCH BlueZ v3 1/7] profile: add after_services for ordering profile startup Pauli Virtanen
                   ` (7 more replies)
  0 siblings, 8 replies; 10+ messages in thread
From: Pauli Virtanen @ 2025-12-02 20:47 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Pauli Virtanen

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


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2025-12-03 21:56 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-02 20:47 [PATCH BlueZ v3 0/7] Add TMAP & GMAP information services Pauli Virtanen
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox