All of lore.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 0/6] mcp: support multiple MCP and implement local GMCS
Date: Tue,  9 Dec 2025 23:15:17 +0200	[thread overview]
Message-ID: <cover.1765314903.git.pav@iki.fi> (raw)

For Media Control Client, add support for multiple GMCS / MCS services
on the server. Revise the API accordingly.

For Media Control Server, make it a non-stub implementation (OTS still
missing), and add an API the profile can use.

Add tests.

This changes the design of the previous MCP code, so it's mostly a
rewrite.

The shared/mcp: commit doesn't fix the API in profiles/audio, that's
done in the later mcp: commit, as it's a rewrite of the API.

TODO (for later): OTP/OTS parts -- requires design for OTP/OTS
implementation first

TODO (for later): MPRIS integration to GMCS server -- this needs some
redesign in media.c as it's hardcoded to AVRCP there.

Pauli Virtanen (6):
  shared/mcp: support multiple MCP, and add non-stub MCS server
  test-mcp: add tests for MCP / MCS
  mcp: adapt to new MCP API to support multiple remote MCS services
  avctp: move uinput utilities to uinput-util.c
  mcp: add local GMCS service that emits uinput media keys
  shared/gatt-client: fix notify_data leak in notify_data_write_ccc

 .gitignore                   |    1 +
 Makefile.am                  |    6 +
 Makefile.plugins             |    3 +-
 lib/bluetooth/uuid.h         |   27 +-
 profiles/audio/avctp.c       |  119 +-
 profiles/audio/mcp.c         |  802 ++++++---
 profiles/audio/uinput-util.c |  144 ++
 profiles/audio/uinput-util.h |   23 +
 src/shared/gatt-client.c     |    3 +
 src/shared/mcp.c             | 3223 ++++++++++++++++++++--------------
 src/shared/mcp.h             |  186 +-
 src/shared/mcs.h             |   51 +-
 unit/test-mcp.c              | 1807 +++++++++++++++++++
 13 files changed, 4654 insertions(+), 1741 deletions(-)
 create mode 100644 profiles/audio/uinput-util.c
 create mode 100644 profiles/audio/uinput-util.h
 create mode 100644 unit/test-mcp.c

-- 
2.51.1


             reply	other threads:[~2025-12-09 21:15 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-09 21:15 Pauli Virtanen [this message]
2025-12-09 21:15 ` [PATCH BlueZ 1/6] shared/mcp: support multiple MCP, and add non-stub MCS server Pauli Virtanen
2025-12-09 21:34   ` mcp: support multiple MCP and implement local GMCS bluez.test.bot
2025-12-09 21:15 ` [PATCH BlueZ 2/6] test-mcp: add tests for MCP / MCS Pauli Virtanen
2025-12-09 21:15 ` [PATCH BlueZ 3/6] mcp: adapt to new MCP API to support multiple remote MCS services Pauli Virtanen
2025-12-09 21:26   ` Pauli Virtanen
2025-12-09 21:15 ` [PATCH BlueZ 4/6] avctp: move uinput utilities to uinput-util.c Pauli Virtanen
2025-12-09 21:15 ` [PATCH BlueZ 5/6] mcp: add local GMCS service that emits uinput media keys Pauli Virtanen
2025-12-09 21:15 ` [PATCH BlueZ 6/6] shared/gatt-client: fix notify_data leak in notify_data_write_ccc Pauli Virtanen

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.1765314903.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.