diff --git a/.idea/libraries/org_asynchttpclient_async_http_client_2_0_18.xml b/.idea/libraries/org_asynchttpclient_async_http_client_2_0_18.xml index 89a40528..884ea3f9 100644 --- a/.idea/libraries/org_asynchttpclient_async_http_client_2_0_18.xml +++ b/.idea/libraries/org_asynchttpclient_async_http_client_2_0_18.xml @@ -3,16 +3,7 @@ - - - - - - - - - @@ -20,11 +11,6 @@ - - - - - diff --git a/config/logback.xml b/config/logback.xml index ef72812a..42146503 100644 --- a/config/logback.xml +++ b/config/logback.xml @@ -30,6 +30,9 @@ + + + diff --git a/imports/async-http-client-2.0.24.jar b/imports/async-http-client-2.0.24.jar deleted file mode 100644 index 4ba0361c..00000000 Binary files a/imports/async-http-client-2.0.24.jar and /dev/null differ diff --git a/imports/netty-buffer-4.1.6.Final.jar b/imports/netty-buffer-4.1.6.Final.jar deleted file mode 100644 index eb9571b1..00000000 Binary files a/imports/netty-buffer-4.1.6.Final.jar and /dev/null differ diff --git a/imports/netty-codec-4.1.6.Final.jar b/imports/netty-codec-4.1.6.Final.jar deleted file mode 100644 index 46e6d345..00000000 Binary files a/imports/netty-codec-4.1.6.Final.jar and /dev/null differ diff --git a/imports/netty-codec-dns-4.1.6.Final.jar b/imports/netty-codec-dns-4.1.6.Final.jar deleted file mode 100644 index dd1ef350..00000000 Binary files a/imports/netty-codec-dns-4.1.6.Final.jar and /dev/null differ diff --git a/imports/netty-codec-http-4.1.6.Final.jar b/imports/netty-codec-http-4.1.6.Final.jar deleted file mode 100644 index 59087aa5..00000000 Binary files a/imports/netty-codec-http-4.1.6.Final.jar and /dev/null differ diff --git a/imports/netty-common-4.1.6.Final.jar b/imports/netty-common-4.1.6.Final.jar deleted file mode 100644 index f119295a..00000000 Binary files a/imports/netty-common-4.1.6.Final.jar and /dev/null differ diff --git a/imports/netty-handler-4.1.6.Final.jar b/imports/netty-handler-4.1.6.Final.jar deleted file mode 100644 index 283ae99a..00000000 Binary files a/imports/netty-handler-4.1.6.Final.jar and /dev/null differ diff --git a/imports/netty-reactive-streams-1.0.8.jar b/imports/netty-reactive-streams-1.0.8.jar deleted file mode 100644 index bb69a229..00000000 Binary files a/imports/netty-reactive-streams-1.0.8.jar and /dev/null differ diff --git a/imports/netty-resolver-4.1.6.Final.jar b/imports/netty-resolver-4.1.6.Final.jar deleted file mode 100644 index 1a997579..00000000 Binary files a/imports/netty-resolver-4.1.6.Final.jar and /dev/null differ diff --git a/imports/netty-resolver-dns-4.1.6.Final.jar b/imports/netty-resolver-dns-4.1.6.Final.jar deleted file mode 100644 index f4b704aa..00000000 Binary files a/imports/netty-resolver-dns-4.1.6.Final.jar and /dev/null differ diff --git a/imports/netty-transport-4.1.6.Final.jar b/imports/netty-transport-4.1.6.Final.jar deleted file mode 100644 index b9610fee..00000000 Binary files a/imports/netty-transport-4.1.6.Final.jar and /dev/null differ diff --git a/imports/netty-transport-native-epoll-4.1.6.Final.jar b/imports/netty-transport-native-epoll-4.1.6.Final.jar deleted file mode 100644 index d90d7346..00000000 Binary files a/imports/netty-transport-native-epoll-4.1.6.Final.jar and /dev/null differ diff --git a/imports/reactive-streams-1.0.0.jar b/imports/reactive-streams-1.0.0.jar deleted file mode 100644 index fe6b2832..00000000 Binary files a/imports/reactive-streams-1.0.0.jar and /dev/null differ diff --git a/src/audio/broadcast/AudioBroadcaster.java b/src/audio/broadcast/AudioBroadcaster.java index e4d4e9e9..8688b04f 100644 --- a/src/audio/broadcast/AudioBroadcaster.java +++ b/src/audio/broadcast/AudioBroadcaster.java @@ -190,8 +190,11 @@ public abstract class AudioBroadcaster implements IAudioPacketListener */ public void receive(StreamableAudioRecording recording) { - mAudioRecordingQueue.add(recording); - broadcast(new BroadcastEvent(this, BroadcastEvent.Event.BROADCASTER_QUEUE_CHANGE)); + if(connected()) + { + mAudioRecordingQueue.add(recording); + broadcast(new BroadcastEvent(this, BroadcastEvent.Event.BROADCASTER_QUEUE_CHANGE)); + } } /** @@ -262,7 +265,7 @@ public abstract class AudioBroadcaster implements IAudioPacketListener { if(mBroadcastState != state) { - mLog.debug("[" + getStreamName() + "] changing state to: " + state); + mLog.info("[" + getStreamName() + "] changing state to: " + state); mBroadcastState = state; broadcast(new BroadcastEvent(this, BroadcastEvent.Event.BROADCASTER_STATE_CHANGE)); @@ -271,6 +274,11 @@ public abstract class AudioBroadcaster implements IAudioPacketListener { stop(); } + + if(!connected()) + { + mAudioRecordingQueue.clear(); + } } } diff --git a/src/audio/broadcast/BroadcastFactory.java b/src/audio/broadcast/BroadcastFactory.java index 8aa2b9f3..b9bf1226 100644 --- a/src/audio/broadcast/BroadcastFactory.java +++ b/src/audio/broadcast/BroadcastFactory.java @@ -28,16 +28,15 @@ import audio.broadcast.icecast.IcecastHTTPConfigurationEditor; import audio.broadcast.icecast.IcecastTCPAudioBroadcaster; import audio.broadcast.icecast.IcecastTCPConfiguration; import audio.broadcast.icecast.IcecastTCPConfigurationEditor; -import audio.broadcast.shoutcast.v1.ShoutcastV1Configuration; import audio.broadcast.shoutcast.v1.ShoutcastV1AudioBroadcaster; -import audio.broadcast.shoutcast.v2.ShoutcastV2Configuration; +import audio.broadcast.shoutcast.v1.ShoutcastV1Configuration; import audio.broadcast.shoutcast.v2.ShoutcastV2AudioBroadcaster; +import audio.broadcast.shoutcast.v2.ShoutcastV2Configuration; import audio.convert.IAudioConverter; import audio.convert.MP3AudioConverter; import controller.ThreadPoolManager; import gui.editor.Editor; import gui.editor.EmptyEditor; -import org.asynchttpclient.DefaultAsyncHttpClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import record.AudioRecorder; @@ -54,7 +53,6 @@ public class BroadcastFactory public static final int MP3_MONO_16_KHZ_BITRATE = 16; public static final boolean MP3_CONSTANT_BITRATE = false; - public static final boolean MP3_VARIABLE_BITRATE = true; /** * Creates an audio streaming broadcaster for the configuration @@ -62,8 +60,7 @@ public class BroadcastFactory * @param configuration describing the server and audio types * @return configured broadcaster or null */ - public static AudioBroadcaster getBroadcaster(DefaultAsyncHttpClient defaultAsyncHttpClient, - ThreadPoolManager threadPoolManager, + public static AudioBroadcaster getBroadcaster(ThreadPoolManager threadPoolManager, BroadcastConfiguration configuration) { if(configuration != null) @@ -75,18 +72,20 @@ public class BroadcastFactory switch(configuration.getBroadcastServerType()) { case BROADCASTIFY: - return new IcecastTCPAudioBroadcaster(defaultAsyncHttpClient, threadPoolManager, + return new IcecastTCPAudioBroadcaster(threadPoolManager, (BroadcastifyConfiguration)configuration); case ICECAST_TCP: - return new IcecastTCPAudioBroadcaster(defaultAsyncHttpClient, threadPoolManager, + return new IcecastTCPAudioBroadcaster(threadPoolManager, (IcecastTCPConfiguration)configuration); case ICECAST_HTTP: - return new IcecastHTTPAudioBroadcaster(defaultAsyncHttpClient, threadPoolManager, + return new IcecastHTTPAudioBroadcaster(threadPoolManager, (IcecastHTTPConfiguration)configuration); case SHOUTCAST_V1: - return new ShoutcastV1AudioBroadcaster(threadPoolManager, (ShoutcastV1Configuration)configuration); + return new ShoutcastV1AudioBroadcaster(threadPoolManager, + (ShoutcastV1Configuration)configuration); case SHOUTCAST_V2: - return new ShoutcastV2AudioBroadcaster(threadPoolManager, (ShoutcastV2Configuration)configuration); + return new ShoutcastV2AudioBroadcaster(threadPoolManager, + (ShoutcastV2Configuration)configuration); case UNKNOWN: default: mLog.info("Unrecognized broadcastAudio configuration: " + configuration.getBroadcastFormat().name()); diff --git a/src/audio/broadcast/BroadcastModel.java b/src/audio/broadcast/BroadcastModel.java index 5437a84b..05b59cfe 100644 --- a/src/audio/broadcast/BroadcastModel.java +++ b/src/audio/broadcast/BroadcastModel.java @@ -21,8 +21,6 @@ package audio.broadcast; import alias.id.broadcast.BroadcastChannel; import audio.AudioPacket; import controller.ThreadPoolManager; -import org.asynchttpclient.DefaultAsyncHttpClient; -import org.asynchttpclient.DefaultAsyncHttpClientConfig; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import properties.SystemProperties; @@ -65,7 +63,6 @@ public class BroadcastModel extends AbstractTableModel implements Listener