diff --git a/src/audio/broadcast/icecast/IcecastTCPAudioBroadcaster.java b/src/audio/broadcast/icecast/IcecastTCPAudioBroadcaster.java index a0db228d..e240ddea 100644 --- a/src/audio/broadcast/icecast/IcecastTCPAudioBroadcaster.java +++ b/src/audio/broadcast/icecast/IcecastTCPAudioBroadcaster.java @@ -25,6 +25,7 @@ import org.apache.mina.core.RuntimeIoException; import org.apache.mina.core.future.ConnectFuture; import org.apache.mina.core.service.IoHandlerAdapter; import org.apache.mina.core.session.IoSession; +import org.apache.mina.core.write.WriteTimeoutException; import org.apache.mina.filter.codec.ProtocolCodecFilter; import org.apache.mina.transport.socket.nio.NioSocketConnector; import org.slf4j.Logger; @@ -273,6 +274,12 @@ public class IcecastTCPAudioBroadcaster extends IcecastAudioBroadcaster mLog.error("Unrecognized IO error: " + reason + ". Streaming halted.", cause); } } + else if(ioe instanceof WriteTimeoutException) + { + mLog.info("Network write timeout error - resetting connection"); + disconnect(); + connect(); + } else { setBroadcastState(BroadcastState.ERROR);