Tuesday, 11 November 2014

The Promised AirPlay Update

Now that Tim’s Vermeer is out of the way, here, finally, is my promised AirPlay update.  You will recall that, following my system-wide upgrade to Yosemite and iTunes 12.x, when I set about evaluating BitPerfect’s AirPlay behaviour under that configuration it started out looking very bleak.  Nothing seemed to want to work, and there seemed to be a number of different and quite independent failure modes.  At the same time I was running short of patience with my AppleTV for non-audio reasons, and eventually discovered that it was one of a number of early ATV3 units which was eligible for free replacement under an Apple program.  With the AppleTV removed from my network, AirPlay suddenly started working very well, very predictably, and very stably.  Now that I have my replacement ATV3 from Apple, the question is what would happen when I re-installed it?

The answer is good news.  It has had no adverse impact whatsoever on my AirPlay setup.  So I set about devising a torture test, one I have never tried before.  I have three Macs in my test network, all running Yosemite and iTunes 12 - the first is a 2013 Mac Mini, the second a 2014 RMBP, and the third a 2009 MBP.  I also have three AirPlay devices in my network - the first is my
Classé CP-800 (which has an ethernet-connected AirPlay interface built in) which is connected to my main reference system, the second is an Airport Express connected to a set of computer speakers, and the third is my new AppleTV3, connected to a TV set.

All three Macs are running BitPerfect 2.0.1 straight from the App Store, and all three are playing through AirPlay.  The Mac Mini is playing Sade’s “Diamond Life” to the CP-800, the MBP is playing Laura Mvula’s “Live with Metropole Orkest” to the AirPort Express, and the RMBP is playing AC/DC’s “Back in Black” to the AppleTV.  All three are playing music quite happily, simultaneously, and the music choices are ones which my brain can at least separate out from the cacophony.  There have been no dropouts or other problems as far as I can tell (it is not easy listening to three systems simultaneously!).  So what had the potential to be a metaphorical headache is now instead a physical one, but for the time being I am not too unhappy about it :)

Next, I decided to stress the system to breaking point.  Although BitPerfect “hogs” its audio output device, thereby preventing other Apps - including OS X itself - from accessing it, this is not so simple with AirPlay.  BitPerfect can only hog AirPlay’s standard audio interface, but OS X does not control AirPlay through the standard audio interface.  So, even while BitPerfect is hogging it, you can still access the AirPlay subsystem via OS X’s Audio Midi setup.  So what would happen if I messed with the AirPlay settings in Audio Midi Setup while BitPerfect was busy playing through it?  And suppose I did that simultaneously with all three systems, while each one was busy playing?  Ugh.

So, on my Mac Mini I changed the AirPlay device in Audio Midi Setup from the CP-800 to the AppleTV.  Nothing happened.  BitPerfect continued playing to the CP-800, and the RMBP continued playing to the AppleTV.  So then I changed the RMBP’s AirPlay device from AppleTV to Airport Express, and the MBP’s from AirPort Express to CP-800.  Now, each of my Macs has its AirPlay device set to a different one from the one which BitPerfect is playing through, but BitPerfect’s playback has continued unchanged.  It is as though BitPerfect’s “hog” on the AirPlay device seems to have a lot more teeth to it that was previously the case under Mavericks and Mountain Lion.  This is a good thing, although the net result would be seriously confusing to someone who came in off the street right now and set about inspecting my setup.

Finally, the playlist playing on each of the systems has moved on to the next album in the queue.  In each case I have selected a 24/176.4 album so that (i) BitPerfect is doing some extra work to downsample the incoming signal, and (ii) the WiFi network is now being more seriously challenged.  The Wi-Fi network now has to stream 24/176.4 music into two of the three computers (the audio files live on a NAS), and then stream a 16/44.1 AirPlay stream out of the computers and then into the AirPlay devices.  That’s two 24/176.4 streams and four 16/44.1 streams simultaneously.  The third computer, and the third AirPlay device, are both connected via ethernet.  Everything continues to play just fine.  Credit here, to be fair, must go to my trusty Cisco E4200 router.

And still my headache continues.  Eric Clapton’s “Slowhand”, Deep Purple’s “Machine Head”, and Arkady Volodos reciting Chopin, now permeate the soundscape.  Excuse me while I take a couple of Tylenol….

To read about AirPlay under OS X 10.11 (El Capitan), read this post.