[PATCH] Multiple master servers for Icecast relay
At any time during the day there are 4 or 5 PCs or IP radios tuned to a common MP3 internet stream. In order to alleviate the traffic on my internet broadband link, I use an Icecast relay on my local network. It retrieves a single Shoutcast stream from the Internet and all the local clients get their streams from it.
Icecast has worked very well in that capacity but has always suffered from a minor shortcoming. Many popular Shoutcast stations provide the same stream through multiple servers. Unfortunately, Icecast 2.3.1 only allows the specification of a single master server for each relay section. So if that master server refuses the connection there is no way to tell Icecast to try an alternate. I've coded a patch to the Icecast 2.3.1 source that allows the specification of multiple master servers. For each relay, Icecast will try each of the multiple servers that can now be specified till a connection is achieved.
The relay section in the icecast.xml file now looks like this:220.127.116.11 80 18.104.22.168 80 /stream/1048 /stream.mp3 0 1
If anybody's interested and in the spirit of open source development I've made the patch available as a contribution to the community. It can be downloaded at http://www.dillobits.com/icecast-2.3.1-patch.txt .