The Airplay PlugIn must perform the following functions:
- It must register which media devices can handle a MediaStream destined for an AirPlay device. Nominally, this would actually be the AirPlay Streamer, it would be configured for multiple destinations via the MediaType_DeviceTemplate table in the database, so that the system would know that it could deal with the synchronization issues itself.
- It must contain code to find the destination Player devices in an area, and when passed a play command, figure out whether it is being sent to a single device, or multiple devices, and send the appropriate CMD_Play_Media or CMD_Stream_Media commands to the AirPlay Streamer to forward onto its child devices.
- It must also contain code to intercept events such as when media has started playing on the device, stopped playing on the device, etc. So that LinuxMCE can appropriately react to changes that have happened externally.