Thursday 18 February 2016

AirPlay with El Capitan

AirPlay has undergone a dramatic revamp under El Capitan.  For BitPerfect users it used to be the case that you would select the AirPlay Device from System Sounds and then, within its menu, select a specific AirPlay device.  That has now changed.  With El Capitan, you instead select the specific AirPlay device, all of which now appear as separate devices.

However, there are some oddities in what they have done.  It used to be that the audio devices available in System Sounds were the same as those available in Audio Midi Setup.  But that is no longer the case.  The Audio Midi Setup appears to still function exactly as it did before.  In other words, the individual AirPlay devices do not appear in Audio Midi Setup, only the AirPlay subsystem.  And you still select individual AirPlay device from a drop-down menu, just like before.  There is an additional wrinkle, though.  If you have not selected an AirPlay device in System Sounds, then as often as not, the AirPlay subsystem will not appear in Audio Midi Setup!  You have to go into System Sounds and select an individual AirPlay device there in order to make the AirPlay subsystem appear in Audio Midi setup.  To complicate matters further,  sometimes it takes a while for it to appear …. we don’t yet know why.

All this might not be a big deal, except that when you select an Audio Output Device in BitPerfect, the only devices OS X makes available to BitPerfect are those which show up in Audio Midi Setup, not those that show up in System Sounds!  So if you want to use BitPerfect over AirPlay, your first priority is to persuade the AirPlay device to appear in Audio Midi Setup, as described in the previous paragraph.  Having done so, you then need to wait until OS X decides it wants to make that device available to BitPerfect.  Sometimes this requires you to quit/restart BitPerfect before that will happen.  At this point we don’t know what governs this behaviour.

As before, it is still necessary to select ‘Computer’ from iTunes’ own AirPlay device selector.  However, you then have to go back to System Sounds and re-select the desired AirPlay device again, because OS X will have switched it back.

Finally, having done all that, you can now start to play over AirPlay using BitPerfect.  However, there are still more problems on the horizon.  If the AirPlay signal is briefly dropped, OS X will reconnect it, but with El Capitan OS X assigns a new handle (an internal memory address) to it, and BitPerfect isn’t expecting that.  Therefore BitPerfect finds itself playing to a device using a memory address that is no longer valid.  This causes BitPerfect to crash.  Since AirPlay dropouts are quite common, these crashes can be quite common.

Fortunately, version 3.0.2 of BitPerfect includes a fix for this crash.  With this version we continuously check to see if the AirPlay device still has the same handle as it did previously.  If not, we detect the discrepancy and re-start playback with the new handle.  We therefore recommend that all El Capitan users who wish to use AirPlay with BitPerfect upgrade to the latest version of BitPerfect.

My feeling is that this new AirPlay regime still needs some fine-tuning, both by Apple and by BitPerfect, so you can expect it to see it evolve over the next few update cycles.


UPDATE:  AirPlay with Sierra.