Dave,

Didn't want to just whinge so I spent most of today building rioplay from source to stick in some debugging code and work out what was going on (I whacked in a version of printf that sends UPD packets to my desktop machine)

It turns out that the wedging up when trying to play from the Rio Server was due to the broadcast SSDP packets not making it out on the wire. (I don't know why, but I get errno 101 "ENETUNREACH - network unreachable")

This was causing the RioPlayList code to hang waiting for a reply (since no retransmits). When I stuck in a hardwired address for my server things worked OK.

Took me a while to get the libmad stuff working since your source code distribution seems to require a more recent ARM-linux port of libmad than I could find on Jeff Mock's page. Managed to cobble together a build of the most recent version.

Managed to get the "playing from Rio Server" code to work in the end.

The streaming code causes a reboot due to AudioThread::OpenFile returning NULL when the socket connect() call failes. Once again this is errno 101 - ENETUNREACH.

My Rio is as you suggested behind a NAT firewall router... but my ISP has been up and down all weekend so this may have caused some problems. I haven't gone into much detail on this problem.

I was suspicious that the netmask may be a bit wierd since the Rio gets its DHCP reply from my NAT box, but I've tried all of the above with DHCP disabled on the NAT box and turned on in the AudioReceiver software ... makes no obvious difference. :-(

I don't know how routing is configured in the Rio linux world but that's my next avenue of investigation. Also not sure about DNS config, but all the streams in the config file seem to use numeric IP addresses anyway.

All in all, seems like a nice clean codebase and I'm looking forward to being able to use my Rio the way it always ought to have been!

(Still half tempted to lash together a minimalist web interface ... e.g. use wget to enumerate all Artists, Playlists, Tracks from the rio server, build some web pages that send a quick UDP packet at the rioplay code :-)

Thanks again for making this available.. reading such well commented and tidy code was a pleasure.

Paul