Synchronising the Rio's so that you have two or three playing at a party without echo/delay

I'm currently playing around with this in RioPlay. It's a lot harder than it sounds due to multiple levels of buffers involved in the playback. The kernel audio driver has a buffer large enough to hold .8 seconds of audio, so when two different applications play a sample, depending how full each kernel's buffer is, there can be a large delay. I've been able to more or less work around this already.

The other problem is that you have to stream the encoded music which means you have to send out MP3 data to multiple players and then somehow synchronize the decoded samples on both. Also not the easiest thing in the world.

I have cobbled together something that works well but only under certain conditions (you have to start the "slave" player before the "master" player). I think I can overcome these last few problems but it will require rewriting my Mp3Decoder class to use MAD's low level API instead.

OK, I guess I didn't really mean to go into that much detail. Oh well. I'm very interested in having this feature available for my house (I have 2 receivers now), so hopefully this will be possible eventually.