diff --git a/src/org/jitsi/impl/neomedia/MediaStreamImpl.java b/src/org/jitsi/impl/neomedia/MediaStreamImpl.java index e6219a5528aa283218e6746a95bee6cee0d891a1..2495af4b4ff4ff90a69b38813d37faeb6feb4dec 100644 --- a/src/org/jitsi/impl/neomedia/MediaStreamImpl.java +++ b/src/org/jitsi/impl/neomedia/MediaStreamImpl.java @@ -2062,16 +2062,21 @@ private Iterable<SendStream> stopSendStreams( return null; for (SendStream sendStream : sendStreams) + { try { - if(logger.isTraceEnabled()) - logger.trace("Stopping send stream with hashcode " - + sendStream.hashCode()); + if (logger.isTraceEnabled()) + { + logger.trace( + "Stopping send stream with hashcode " + + sendStream.hashCode()); + } sendStream.getDataSource().stop(); sendStream.stop(); if (close) + { try { sendStream.close(); @@ -2089,16 +2094,17 @@ private Iterable<SendStream> stopSendStreams( * SendStreams, ignore the exception here just in case * because we already ignore IOExceptions. */ - logger - .error( - "Failed to close stream " + sendStream, + logger.error( + "Failed to close send stream " + sendStream, npe); } + } } catch (IOException ioe) { - logger.warn("Failed to stop stream " + sendStream, ioe); + logger.warn("Failed to stop send stream " + sendStream, ioe); } + } return sendStreams; } diff --git a/src/org/jitsi/impl/neomedia/RTPTranslatorImpl.java b/src/org/jitsi/impl/neomedia/RTPTranslatorImpl.java index bee04eb16fdfd28fcde82f76296c7d8ca5590bbc..a9863c74a0cc7d57349c74b3791f6d68de570ed0 100644 --- a/src/org/jitsi/impl/neomedia/RTPTranslatorImpl.java +++ b/src/org/jitsi/impl/neomedia/RTPTranslatorImpl.java @@ -155,6 +155,15 @@ private synchronized void closeFakeSendStreamIfNotNecessary() { fakeSendStream.close(); } + catch (NullPointerException npe) + { + /* + * Refer to MediaStreamImpl#stopSendStreams( + * Iterable<SendStream>, boolean) for an explanation about + * the swallowing of the exception. + */ + logger.error("Failed to close fake send stream", npe); + } finally { fakeSendStream = null; @@ -180,7 +189,21 @@ private synchronized void closeSendStream(SendStreamDesc sendStreamDesc) if (sendStreams.contains(sendStreamDesc) && (sendStreamDesc.getSendStreamCount() < 1)) { - sendStreamDesc.sendStream.close(); + SendStream sendStream = sendStreamDesc.sendStream; + + try + { + sendStream.close(); + } + catch (NullPointerException npe) + { + /* + * Refer to MediaStreamImpl#stopSendStreams( + * Iterable<SendStream>, boolean) for an explanation about the + * swallowing of the exception. + */ + logger.error("Failed to close send stream", npe); + } sendStreams.remove(sendStreamDesc); } }