From c0bc48a4722d9209b0beacb3ae6ffcf650fb91c1 Mon Sep 17 00:00:00 2001 From: Mischa Siekmann <45062894+gnumpi@users.noreply.github.com> Date: Thu, 22 Jan 2026 09:31:21 +0100 Subject: [PATCH] SyncGroupPlayer: Inherit MULTI_DEVICE_DSP feature from group members (#2999) * SyncGroupPlayer: Inherit MULTI_DEVICE_DSP feature from group members * SyncGroupPlayer: use reference_player as variable name for the player to inherit the supported features from --- music_assistant/controllers/players/sync_groups.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/music_assistant/controllers/players/sync_groups.py b/music_assistant/controllers/players/sync_groups.py index 7bc19046..d5540e33 100644 --- a/music_assistant/controllers/players/sync_groups.py +++ b/music_assistant/controllers/players/sync_groups.py @@ -65,6 +65,7 @@ OPTIONAL_FEATURES = { PlayerFeature.SEEK, PlayerFeature.SELECT_SOURCE, PlayerFeature.VOLUME_MUTE, + PlayerFeature.MULTI_DEVICE_DSP, } @@ -111,11 +112,15 @@ class SyncGroupPlayer(GroupPlayer): @property def supported_features(self) -> set[PlayerFeature]: """Return the supported features of the player.""" - if self.sync_leader: + members = self.group_members + reference_player: Player | None = self.sync_leader or ( + self.mass.players.get(members[0]) if members else None + ) + if reference_player: base_features = self._attr_supported_features.copy() # add features supported by the sync leader for feature in OPTIONAL_FEATURES: - if feature in self.sync_leader.supported_features: + if feature in reference_player.supported_features: base_features.add(feature) return base_features return self._attr_supported_features -- 2.34.1