xbmc/xbmc — pull request #4768 by Memphiz (2014-05-21 22:36:24+00:00)
Title: [AE/osxsink] - support multistream devices

This fixes multistream devices like fireface by adding each stream as a single device.
It also addes the audio source names of the devices.
And last but not least it adds a device for each audio source a device has - allowing it for example to choose between multiple AirPlay sinks (instead of just showing "AirPlay" and stream to the sink which is selected by osx). It also allows to select between Builtin Output, Internal Speaker and BuiltIn Output, Headphones if those are plugged in ...

The principle of multistream devices was described here:

http://forum.xbmc.org/showthread.php?tid=195757

This is how the full blown enumeration looks on my test system
System has 3 airplay sources detected in the network
Fireface is an "fake" multistream device which aggregates my internal output and the hdmi
MutliOutput is a mirrored aggregration which puts out to hdmi and internal speaker at the same time (this is a osx feature - nothing to be done for having this work)

Also you see the sources of the other devices (like LG TV or "Internal Speaker").

https://dl.dropboxusercontent.com/u/30371861/enumeration.png

@jmarshallnz - if you want to have anything backported from this - tell me what of it ... :)

Note to myself - the channel map PR needs adaption for working properly with multistream devices ...