Software, technology, sysadmin war stories, and more. Feed
Tuesday, June 5, 2012

Apple's AirPlay disconnect

Apple has been neglecting its non-iOS devices again. This became quite clear over the weekend when I wanted to watch something and had to go through some contortions to make it happen. My eventual solution showed that they have a pretty big hole in their AirPlay "strategy", assuming they even have one.

I have a pretty simple configuration here. I have an Airport Express which I originally purchased just so I could use it to feed music out to a headphone charger base which is also a 900 MHz transmitter. I can then wear those wireless headphones and walk around while doing random things (laundry, cooking, whatever) and continue to hear my music. It works quite nicely.

I originally bought it so that I could push music from iTunes on my Mac. Over the years which followed, my phone got the ability to do the same thing. In recent times, it's even become able to push audio from other things like the XM/Sirius streaming application, the YouTube application, and even random QuickTime videos I bring up in mobile Safari.

However, while my phone has been picking up more and more ways to use the newly-renamed "AirPlay" stuff, my computer has been stuck. If I'm at home, odds are I'm using the full computer and not my phone to get things done. When that happens, if I start up a song in iTunes, I'm okay. But, if I click over to YouTube, or even start up a video while still in iTunes, the audio comes out of the computer's speakers.

The only way to get my computer to push this audio out to my headphones via AirPlay is to use a third-party program like Airfoil. Even then, Airfoil isn't the whole story, since you need an "Instant Hijack" thing which basically installs a spooky extension and forces you to reboot to install it. You can tell they're doing something crafty. It's reaffirmed when you find out that it can break during certain OS upgrades.

Just from my high-level poking around on a system with that stuff running, it looks like the Mac equivalent of a LD_PRELOAD hack which intercepts certain system calls and looks for stuff which might push to the system audio device. Then it just gets in there and takes over if you so command. While it actually works, it feels dirty and messy, and all of that overhead has to show up somewhere.

The worst part is that Airfoil doesn't do any of the corrective timing stuff that "real" AirPlay stuff does. By this, I mean there's a substantial lag between the video and audio when you set this up. They apparently provide their own video player which knows about this and delays the video accordingly, but again, at this point, you're just digging the hole even deeper.

No no, dig up, stupid.

Meanwhile, back on my iOS devices, things Just Work.

So, over the weekend when I wanted to listen to a lengthy video about something or other while cooking, I had to bring it up on my phone. I had a perfectly good computer which had the page open, but I had to dig my phone out of my purse and burn some battery to get that audio through to my headphones.

It was at this point that I realized this can't just be happening to me. I can't imagine how bad it must be for people who actually go for the full-blown audio+video AirPlay stuff. That's a whole world of things which will refuse to work just because the plumbing does not exist yet.

This whole space seems to lack a coherent vision.