boy howdy, that's a complicated question to answer
Short answer? It depends.
Long Answer? ...
In LinuxMCE, every device has a number, and all the devices are arranged in a tree. This is more than just an aesthetic choice, this is an architectural one.
For each type of message in the system, there is a source, and a destination device.
If the drive is a child of the hybrid/core for example, then LinuxMCE determines that the disk is local, so it can simply read off the disk. In this case, the parent devices are the same both source and destination, so we don't have to create any plumbing to make it work.
If the drive is a child of something else, such as a file server (NAS), then we have to figure out who is the parent....
All media directors see the exact same filesystem structure... Hybrids also fall into this category as well.... and we run an automounter which constantly looks at the database to figure out how to mount a disk that is required for the main media director to play the media.. this becomes the source device.... It will do an NFS or windows samba share mount depending on what needs to happen, to make it happen.
When you stream video to multiple devices (using the xine player, for example), the first media director becomes the source device, and deals with reading the data off the disk. Then it streams the video to the other media directors over the network.
This is dependent on the media player, the media plugin, and the destination devices. The Media Plugin figures out how many streams it needs to create, and which devices to assign as the source, and the destinations to fulfill a request.
I've tried to explain this as best I can..hopefully it's clear.
-Thom