Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stream to Homepod Stereo Pair #1665

Open
charlesvestal opened this issue Feb 16, 2022 · 6 comments
Open

Stream to Homepod Stereo Pair #1665

charlesvestal opened this issue Feb 16, 2022 · 6 comments
Labels

Comments

@charlesvestal
Copy link

What feature would you like?

When streaming to a homepod stereo pair, I see both as individually addressable homepods, but not as a stereo pair. I'd like to be able to stream (and control) the stereo pair, rather than individuals.

Describe the solution you'd like

When scanning for devices, detect a pair and show as an additional device.

Any other information to share?

I'm attempting (unsuccesfully) to get around this via an apple TV paired to the homepods, but I imagine there are users without an apple tv that would want to do the same.

@shauder
Copy link

shauder commented Feb 17, 2022

There has been some work and success with this in OwnTone: owntone/owntone-server#1413

@wivaku
Copy link

wivaku commented Dec 9, 2022

When comparing my two homepod mini's (set up as stereo pair) I have seen two service discovery outcomes for my actively playing stereo pair:

  • complete: differences as expected
  • incomplete: visible that it is a pair, but does not have all the expected settings

What they have in common:

  • gpn (group name) is set on both devices (same as the name of the group leader)
  • flags has bit 13 set for the group leader
  • gid (group UUID) is the same for both devices - can be "single" UUID, or can be a "concatenated" UUID.

Comparing the two situations in detail:

complete:

  • gpn (group name) same on both (same as name for the group leader)
  • flags for group leader has bit 13 set: TightSyncIsGroupLeader
  • gid (group UUID) same UUID on both devices (consist of tsid UUID and a 2nd one)
  • tsid (?) set to same UUID on both devices
  • gcgl (group contains group leader): set to 1 on both
  • pgid (parent group UUID) only set on the non-group-leader, has same value as gid
  • pgcgl (parent group contains discoverable leader ) only set on non-group-leader, set to 1
  • igcl (is group leader) set to 1 for the group leader, 0 for the other device

Format for gid/pgid: <tsid-UUID>+0+<some-other-UUID>

incomplete:
Only gpn and flags are different between group leader and the non-group-leader. The flags are different than the complete example, but here as well: the group leader has bit 13 set.

  • gid: same on both devices (format: single UUID, not the same as tsid)
  • tsid: same on both devices (not used in gid or pgid) - and same as for complete example above
  • gcgl: 0 on both
  • pgid: same on both devices, same as gid
  • pgcgl: 0 on both
  • igl: 0 on both

Diffs for both situations:

image

@wivaku
Copy link

wivaku commented Dec 14, 2022

After updating from 16.1 to 16.2 all values are still the same, except:

srcvers=670.6.2
osvers=16.2

@wivaku
Copy link

wivaku commented Jul 7, 2023

any news / plans regarding support for homepod stereo pairs?

1 similar comment
@wveilleux
Copy link

any news / plans regarding support for homepod stereo pairs?

@postlund
Copy link
Owner

postlund commented Sep 2, 2023

No updates on that I'm afraid. It's a low priority for me right now, but certainly an interesting feature. At some point I might feel ready for it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants