Alan just called me and we spent 30 minutes brainstorming about this, so I simply must try to put up the stuff we came up with 🙂
Firstly, I only own a Mac Mini and an Airport Express. I am relatively new to the Mac community (although have been a huge fan and have followed the tech side of it for a long time), but here's what we came up with.
In a nutshell, it is round-tripping from the hard drive, to the laptop, back to the airport, and then to the AppleTV. How'd we come up with this? Stop me at any point if I'm wrong... assumptions:
- Airdisk uses samba to share the hard drive over the network with any Mac connected to that network.
- Airdisk is available to any mac that is properly configured through regular IP (say, it's a samba share that's located on the IP of the router - your mac is already connected to the router, so it connects to the drive at router_ip/sambashare)
So at any point further, the Airdisk is just a dumb file server located on the Airport Extreme that serves up USB drive contents (I don't mean "dumb" in a derogatory sense, more than it was designed to do the least possible, for efficiency, such as a dumb terminal).
The AppleTV, however, finds "sources" as other iTunes libraries. Judging by Apple's previous implementations for such things, they are using Bonjour (aka Rendezvous, aka multicast DNS Service Discovery), to discover basically iTunes libraries (using the same discovery suffix that iTunes uses to find other iTunes instances on the network, say ".itunes.local").
So since the hard drive is not advertised as an iTunes library, it won't be directly found. Instead, AppleTV finds the iTunes that's running on your laptop. It starts streaming content from that iTunes library (again, from your laptop). Your laptop in turn needs to collect the content before sending it over to AppleTV. It does this, again, over the network using Airdisk.
So essentially, you have a packet follow this path:
AppleTV requests for content from laptop (packet travels through Airport extreme to laptop)
Laptop requests for data from Airdisk (packet travels from laptop to Airport)
Laptop receives data from Airdisk (packet travels from Airport Extreme to laptop)
Laptop sends received data to Apple TV (packet travels to Airport Extreme, and then to the Apple TV)
So essentially, while you are streaming a movie with a lot of content, the packet is going roundabout to the airport extreme, and then to the apple TV, instead of going directly from the AE to the ATV.
Does that make sense? Essentially, there's all this roundabout overhead for the packet to travel.
I could TOTALLY be wrong. I would love it if Apple chimed in and proved this theory wrong 🙂
But I think this is ok because the functionality to make the AppleTV stream directly from Airdisk is easy to add, by just patching the software. All you'd need to do is have samba shares as possible sources, instead of just other iTunes instances. You'd still be getting stuff from an IP address. You'd just change the protocol.
Anyway, I hope this didn't get too convoluted. I'd get Alan to make up a picture. He's the graphic designer. I'm just a gearhead. 🙂 (Used to be "PC Guy" turned Mac guy the moment I found out OS X had a Unix underbelly 5 years ago)
Intel Mac Mini Mac OS X (10.4.9) Airport Express