postlund / pyatv

A client library for Apple TV and AirPlay devices
https://pyatv.dev
MIT License
838 stars 91 forks source link

Feature flagging for media player grouping #2237

Open michalmo opened 8 months ago

michalmo commented 8 months ago

Short feature/function description

I previously added support for controlling output devices in #2044, enabling support for media player grouping in Home Assistant (in progress at https://github.com/home-assistant/core/pull/94704). However it was mentioned that this needs better feature flagging since some devices do not support this.

What needs to be done?

There are two parts of the media player grouping. Some devices can act as the media controllers (Apple TVs, HomePods and I guess Macs which are not supported by pyatv), and others can act as receivers (Apple devices and AirPlay receivers).

I need to identify which Apple devices supported by pyatv cannot act as controllers, and what property to base a feature flag on.

I also need to identify which devices do not support being receivers (any Airplay devices that cannot be grouped? any Apple devices that don't support Airplay?).

Is this a breaking change?

No - Adding a feature flag would gate a feature that would not work with these devices anyway.

Anything else worth knowing?

Unfortunately I don't have any device that does not work with this feature, so I need some insight into which devices are not supported.

postlund commented 8 months ago

This would be a good addition! Unfortunately I can't really give any hints here as I know very little about this. I can confirm that you can stream audio to macOS (as long as you change access settings).