diff --git a/src/org/jitsi/impl/neomedia/MediaStreamImpl.java b/src/org/jitsi/impl/neomedia/MediaStreamImpl.java index fa20e98a4002890b379d30af454f08b5d24f4817..238042ace72360e2ccdff1388e839f78d6c1e347 100644 --- a/src/org/jitsi/impl/neomedia/MediaStreamImpl.java +++ b/src/org/jitsi/impl/neomedia/MediaStreamImpl.java @@ -2518,9 +2518,12 @@ else if (ev instanceof RemotePayloadChangeEvent) // and starting again the DataSource try { - transcodingDataSource.disconnect(); - transcodingDataSource.connect(); - transcodingDataSource.start(); + if (transcodingDataSource != null) + { + transcodingDataSource.disconnect(); + transcodingDataSource.connect(); + transcodingDataSource.start(); + } // as output streams of the DataSource // are recreated we need to update diff --git a/src/org/jitsi/impl/neomedia/RTPConnectorUDPOutputStream.java b/src/org/jitsi/impl/neomedia/RTPConnectorUDPOutputStream.java index 415ccfabcc252f181a85a1e9c1f21793016526f3..690ab63d26ac6b02e2417e6e28d6f591e8bc6ae8 100644 --- a/src/org/jitsi/impl/neomedia/RTPConnectorUDPOutputStream.java +++ b/src/org/jitsi/impl/neomedia/RTPConnectorUDPOutputStream.java @@ -69,6 +69,9 @@ protected void sendToTarget(RawPacket packet, InetSocketAddress target) @Override protected void doLogPacket(RawPacket packet, InetSocketAddress target) { + if (socket == null || packet == null || target == null) + return; + // Do not log the packet if this one has been processed (and already // logged) by the ice4j stack. if(socket instanceof MultiplexingDatagramSocket) diff --git a/src/org/jitsi/impl/neomedia/device/MediaDeviceImpl.java b/src/org/jitsi/impl/neomedia/device/MediaDeviceImpl.java index 05ffce2938d4956daca5cd10d25339186b43eb90..e3ac6a6e72be76ae1c58d282127ebb2b1160f2b8 100644 --- a/src/org/jitsi/impl/neomedia/device/MediaDeviceImpl.java +++ b/src/org/jitsi/impl/neomedia/device/MediaDeviceImpl.java @@ -139,7 +139,12 @@ private static String toString(CaptureDevice captureDevice) CaptureDeviceInfo captureDeviceInfo = captureDevice.getCaptureDeviceInfo(); - MediaLocator mediaLocator = captureDeviceInfo.getLocator(); + + MediaLocator mediaLocator = null; + if (captureDeviceInfo != null) + { + mediaLocator = captureDeviceInfo.getLocator(); + } str.append((mediaLocator == null) ? captureDeviceInfo : mediaLocator); return str.toString(); diff --git a/src/org/jitsi/impl/neomedia/notify/AudioSystemClipImpl.java b/src/org/jitsi/impl/neomedia/notify/AudioSystemClipImpl.java index bafd820cc27092b266d046825634274d4ab4c519..19780180c6e7fc8e71715d32fceedaf6970fa021 100644 --- a/src/org/jitsi/impl/neomedia/notify/AudioSystemClipImpl.java +++ b/src/org/jitsi/impl/neomedia/notify/AudioSystemClipImpl.java @@ -121,6 +121,11 @@ protected void exitRunOnceInPlayThread() */ protected boolean runOnceInPlayThread() { + if (renderer == null || buffer == null) + { + return false; + } + InputStream audioStream = null; try