mostly fixes in this.
improvements to xml parsing with changes in recent releases, people who have had issues with empty tags should be ok without the xml parser rejecting it.
The tag fallback or fallback-mount can now take original name or in a block with a mount tag and rate tag or take mount and rate as parameters (rate being a bitrate eg 128k).
some legacy shoutcast settings on the ports were an issue now fixed.
the rest is essentially internal code fixes for crashes, non-playback in chrome, excessive logging and some relay handling changes
I have added a new option on mount, hijack (bool, as tag or param) which allows for an incoming source client to override an existing stream, effectively to swap in, dropping the existing stream without affecting the listeners. The initial use case is for hijacking a relay, and when the source client disconnects, the relay is restarted. You are still limited to same stream parameters or else player apps could get confused. This feature should be considered as a replacement for fallback, ie you have a fallback stream already there but a source client jumps in and takes over. This allows your mountpoint to be anchored, listeners don't move to another mountpoint and allows for the fallback to be from another server or if need be using the multi-host feature within the relay. This anchor aspect may be useful for external stream listings or stats collection and helps avoid problem cases with shared fallbacks (ie mount A and mount B both fall back to mount C can now become mount A and B both relay C and then sources overrides the relays, no fallback specified).
While the hijack code can work with one source client replacing another, there are certain aspects that need more consideration, namely the first source client can attempt to reconnect causing a bouncing effect. In such cases some extra selection criteria is required like auth via URL.
karl