rust/bt-mcs: Add public methods for updating server state Add high-level public methods on McsServer to update track metadata, media playback state, position, identity, and optional control characteristics. Issue GATT notifications for state updates according to MCS v1.0.1: - Order Track Changed notification after track property updates - Resolve FromEnd track position offsets into non-negative values - Notify TrackPosition as Unavailable on transition to Inactive - Treat redundant Media State transitions as no-ops - Reject write notifications when state validation fails Update track position calculation to factor in playback speed and seeking speed without integer overflow. Add FakeServerEventsExt assertion helpers in bt-gatt test_utils and update the MCS server test suite to explicitly assert GATT handles and notification payloads. Bug: 540400364 Test: cargo test -p bt-gatt -p bt-mcs, ./presubmit.sh Change-Id: Ib0d9e20de601d19bce339e332d5256a3f998eb10 Reviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3900
This is a repository for shared libraries and tools that can be useful for multiple Bluetooth stacks.
These tools and libraries are meant to be:
It has been started as a repository for developing Rust crates but can be easily expanded to include libraries and tools written in other languages.
It is not a full Bluetooth stack. Google has two officially open-source Bluetooth stacks: