diff --git a/lib/ice4j.jar b/lib/ice4j.jar index 2c69673d37b4b6e98e60a3ba8d6f48a2ae998426..443d0847efc6e8c1daa9ea9615e823f35a88fd08 100644 Binary files a/lib/ice4j.jar and b/lib/ice4j.jar differ diff --git a/src/org/jitsi/impl/neomedia/RTPConnectorUDPInputStream.java b/src/org/jitsi/impl/neomedia/RTPConnectorUDPInputStream.java index 541229a9f35fef13298e5e138256d104a968b998..4a81ff7e99e5571210a5fad0640646f739f9b341 100644 --- a/src/org/jitsi/impl/neomedia/RTPConnectorUDPInputStream.java +++ b/src/org/jitsi/impl/neomedia/RTPConnectorUDPInputStream.java @@ -21,15 +21,18 @@ public class RTPConnectorUDPInputStream extends RTPConnectorInputStream { + /** - * UDP socket used to receive data. + * The indicator which determine whether + * {@link DatagramSocket#setReceiveBufferSize(int)} has been invoked on + * {@link #socket}. */ - private final DatagramSocket socket; + private boolean setReceiveBufferSize = false; /** - * Receive size configured flag. + * UDP socket used to receive data. */ - private boolean receivedSizeFlag = false; + private final DatagramSocket socket; /** * Initializes a new <tt>RTPConnectorInputStream</tt> which is to receive @@ -104,16 +107,17 @@ protected void doLogPacket(DatagramPacket p) protected void receivePacket(DatagramPacket p) throws IOException { - if(!receivedSizeFlag) + if (!setReceiveBufferSize) { - receivedSizeFlag = true; - + setReceiveBufferSize = true; try { socket.setReceiveBufferSize(65535); } - catch(Throwable t) + catch (Throwable t) { + if (t instanceof ThreadDeath) + throw (ThreadDeath) t; } } socket.receive(p); diff --git a/src/org/jitsi/impl/neomedia/transform/dtls/DatagramTransportImpl.java b/src/org/jitsi/impl/neomedia/transform/dtls/DatagramTransportImpl.java index 4a80698edb770b65e4d38437c597b197c64dba81..a7064edf4d914eb2040b6010a6cf9b04252b73a1 100644 --- a/src/org/jitsi/impl/neomedia/transform/dtls/DatagramTransportImpl.java +++ b/src/org/jitsi/impl/neomedia/transform/dtls/DatagramTransportImpl.java @@ -302,6 +302,7 @@ public int receive(byte[] buf, int off, int len, int waitMillis) } if (interrupted) Thread.currentThread().interrupt(); + return received; }