* [bluez/bluez] b45440: shared/mcp, mcp: support multiple MCP, and add non...
@ 2025-12-12 20:22 Pauli Virtanen
0 siblings, 0 replies; only message in thread
From: Pauli Virtanen @ 2025-12-12 20:22 UTC (permalink / raw)
To: linux-bluetooth
Branch: refs/heads/1032730
Home: https://github.com/bluez/bluez
Commit: b45440cca48dffcd0cc0f33dbc4bc815edb85a1b
https://github.com/bluez/bluez/commit/b45440cca48dffcd0cc0f33dbc4bc815edb85a1b
Author: Pauli Virtanen <pav@iki.fi>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M lib/bluetooth/uuid.h
M profiles/audio/mcp.c
M src/shared/mcp.c
M src/shared/mcp.h
M src/shared/mcs.h
Log Message:
-----------
shared/mcp, mcp: support multiple MCP, and add non-stub MCS server
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 complete implementation (OTS still
missing), and add an API the profile can use.
This is mostly a complete rewrite.
Adapt also profile/mcp.c to use the new API, adding support for multiple
MCS services on the remote side.
Commit: 2d71b6f901e5bf0df2b9a21058e5beea21a4a21f
https://github.com/bluez/bluez/commit/2d71b6f901e5bf0df2b9a21058e5beea21a4a21f
Author: Pauli Virtanen <pav@iki.fi>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M .gitignore
M Makefile.am
A unit/test-mcp.c
Log Message:
-----------
test-mcp: add tests for MCP / MCS
Add tests for the Media Control Client / Server implementation.
This contains basic GGIT and state transition tests. Not all state
transition tests are here, as they'd largely test the upper layer of the
profile which is not tested now.
Commit: 8f5d3d9e2d011df33050920b75412118413d58d7
https://github.com/bluez/bluez/commit/8f5d3d9e2d011df33050920b75412118413d58d7
Author: Pauli Virtanen <pav@iki.fi>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M profiles/audio/mcp.c
Log Message:
-----------
mcp: add support for Repeat & Shuffle for remote player
Add support for toggling remote player playing order settings.
These do not fully map to current org.bluez.MediaPlayer Repeat/Shuffle,
but try best effort mapping.
Commit: 795424a01efd552bce742fe046842c1326365a7b
https://github.com/bluez/bluez/commit/795424a01efd552bce742fe046842c1326365a7b
Author: Pauli Virtanen <pav@iki.fi>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M Makefile.am
A src/shared/uinput.c
A src/shared/uinput.h
Log Message:
-----------
shared/uinput: add uinput utility functions
Add uinput utility function that can be used both for AVCTP and MCS.
Commit: 1a4067c650edef4385c04de80ff2ab3316b0521b
https://github.com/bluez/bluez/commit/1a4067c650edef4385c04de80ff2ab3316b0521b
Author: Pauli Virtanen <pav@iki.fi>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M profiles/audio/avctp.c
Log Message:
-----------
avctp: use uinput utilities from src/shared
Make use of the src/shared version of uinput_create() / send_key
Commit: 1563041a4c66c7a368de4e149b54ae9717d7bafd
https://github.com/bluez/bluez/commit/1563041a4c66c7a368de4e149b54ae9717d7bafd
Author: Pauli Virtanen <pav@iki.fi>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M profiles/audio/mcp.c
Log Message:
-----------
mcp: add local GMCS service that emits uinput media keys
Implement simple GMCS service that is always inactive, and emits media
key presses via uinput for Play/Pause/Stop/Next/Prev MCS commands.
In practice, this seems to be enough to support media control keys on
headsets. Some headsets (Creative Zen Hybrid Pro) also refuse to
connect if there is no GMCS service.
Commit: a99047749c8e7cc1b642516e32c970bf7d1807e0
https://github.com/bluez/bluez/commit/a99047749c8e7cc1b642516e32c970bf7d1807e0
Author: Pauli Virtanen <pav@iki.fi>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M src/shared/mcp.c
Log Message:
-----------
shared/mcp: on track changed, re-read values if notify not available
Notify is optional for some MCS attributes. To get new track titles etc.
re-read values on track change, if remote does not have notify on them.
Commit: a2ff5f082013d6be3ef60c9e1736d76b740f1abd
https://github.com/bluez/bluez/commit/a2ff5f082013d6be3ef60c9e1736d76b740f1abd
Author: Pauli Virtanen <pav@iki.fi>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M unit/test-mcp.c
Log Message:
-----------
test-mcp: check attributes are reread on track change if no notify
Add test we reread attributes on track change if remote does not have
optional notify features.
Commit: b00b63b3f692db1d2ae4f9a1b1e1fa0414b9d4b3
https://github.com/bluez/bluez/commit/b00b63b3f692db1d2ae4f9a1b1e1fa0414b9d4b3
Author: Pauli Virtanen <pav@iki.fi>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M src/shared/mcp.c
Log Message:
-----------
shared/mcp: complete CCID read before considering other attributes
Service is shown ready to upper level when CCID is read, after which we
should notify upper level about current attribute values.
Make sure the values reach upper level, by reading them only after the
service is ready. Otherwise, the reads may complete in unspecified
order and upper level misses some events.
Compare: https://github.com/bluez/bluez/compare/b45440cca48d%5E...b00b63b3f692
To unsubscribe from these emails, change your notification settings at https://github.com/bluez/bluez/settings/notifications
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-12-12 20:22 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-12 20:22 [bluez/bluez] b45440: shared/mcp, mcp: support multiple MCP, and add non Pauli Virtanen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).