music-assistant-server

Branch:dev-lidarr-plugin

Commit Details

Fix grouping being unavailable while Spotify Connect plays (#6070)

# What does this implement/fix?

Since 2.10, a player playing a source that Music Assistant streams
itself (Spotify Connect, AirPlay Receiver, VBAN, Ynison) was treated as
if something else had taken the speaker over. Grouping checkboxes
disappeared for that player, and a speaker that was already grouped over
AirPlay or Sendspin got kicked out of the group a few seconds after
playback started.

Music Assistant is the one producing that audio, so it can be sent to a
group just like anything else. The two checks that decide whether a
source is ours only recognised a queue, and a live source is not one.

**Related issue (if applicable):**

- https://github.com/music-assistant/support/issues/6207

## Types of changes

- [x] Bugfix (non-breaking change which fixes an issue) — `bugfix`
- [ ] New feature (non-breaking change which adds functionality) —
`new-feature`
- [ ] Enhancement to an existing feature — `enhancement`
- [ ] New music/player/metadata/plugin provider — `new-provider`
- [ ] Breaking change (fix or feature that would cause existing
functionality to not work as expected) — `breaking-change`
- [ ] Refactor (no behaviour change) — `refactor`
- [ ] Documentation only — `documentation`
- [ ] Maintenance / chore — `maintenance`
- [ ] CI / workflow change — `ci`
- [ ] Dependencies bump — `dependencies`

Changes:

- Grouping options stay available while a source Music Assistant streams
itself plays on a player
- Such a source no longer counts as a takeover, so a grouped speaker is
not dropped from its group
- A source the player switched to on its own (TV input, line-in, its own
streaming endpoint) still offers native grouping only, unchanged
- Tests for both sides of that distinction

## Checklist

- [x] The code change is tested and works locally.
- [x] `pre-commit run --all-files` passes.
- [x] `pytest` passes, and tests have been added/updated under `tests/`
where applicable.
- [ ] For changes to shared models, the companion PR in
`music-assistant/models` is linked.
- [ ] For changes affecting the UI, the companion PR in
`music-assistant/frontend` is linked.
- [x] I have read and complied with the project's [AI
Policy](https://github.com/music-assistant/.github/blob/main/AI_POLICY.md)
for any AI-assisted contributions.
- [ ] I have [raised a PR against the documentation
repository](https://github.com/music-assistant/music-assistant.io/blob/main/CONTRIBUTING.md)
targeting the main or beta branch as appropriate.
Forgejo

Author

Marcel van der Veldt<[email protected]>
August 27, 2026 at 10:17 PM UTC

Committer

Marcel van der Veldt<[email protected]>
August 29, 2026 at 12:28 AM UTC
183additions
6deletions
5files changed

Parent commits

Changes

5 files
+183-6

Changed Files (5)

music_assistant/controllers/players/
music_assistant/models/
tests/controllers/players/
music_assistant/controllers/players/audio_sources.py
+5
music_assistant/controllers/players/controller.py
+1-1
music_assistant/models/player.py
+7-5
tests/controllers/players/test_audio_source_session.py
tests/controllers/players/test_protocol_linking.py
+170