diff --git a/src/net/java/sip/communicator/impl/neomedia/MediaServiceImpl.java b/src/net/java/sip/communicator/impl/neomedia/MediaServiceImpl.java index 59c0fb25d..abfd85976 100644 --- a/src/net/java/sip/communicator/impl/neomedia/MediaServiceImpl.java +++ b/src/net/java/sip/communicator/impl/neomedia/MediaServiceImpl.java @@ -470,23 +470,23 @@ public void removeLocalUserSoundLevelListener(LocalUserSoundLevelListener l) */ public void fireLocalUserSoundLevelEvent(int level) { - LocalUserSoundLevelEvent soundLevelEvent - = new LocalUserSoundLevelEvent(this, level); - List listeners; + Iterable listeners; synchronized (soundLevelListeners) { - listeners = - new ArrayList(soundLevelListeners); + if (soundLevelListeners.isEmpty()) + return; + + listeners + = new ArrayList( + soundLevelListeners); } - for (Iterator listenerIter - = listeners.iterator(); listenerIter.hasNext();) - { - LocalUserSoundLevelListener listener = listenerIter.next(); + LocalUserSoundLevelEvent soundLevelEvent + = new LocalUserSoundLevelEvent(this, level); + for (LocalUserSoundLevelListener listener : listeners) listener.localUserSoundLevelChanged(soundLevelEvent); - } } /** diff --git a/src/net/java/sip/communicator/impl/neomedia/codec/audio/SoundLevelIndicatorEffect.java b/src/net/java/sip/communicator/impl/neomedia/codec/audio/SoundLevelIndicatorEffect.java index af7acfb40..ee0e550a4 100644 --- a/src/net/java/sip/communicator/impl/neomedia/codec/audio/SoundLevelIndicatorEffect.java +++ b/src/net/java/sip/communicator/impl/neomedia/codec/audio/SoundLevelIndicatorEffect.java @@ -123,7 +123,6 @@ public int process(Buffer inputBuffer, Buffer outputBuffer) System.arraycopy(inputBuffer.getData(), inputBuffer.getOffset(), b, 0, b.length); outputBuffer.setData(b); - outputBuffer.setData(b); outputBuffer.setFormat(inputBuffer.getFormat()); outputBuffer.setLength(inputBuffer.getLength()); outputBuffer.setOffset(inputBuffer.getOffset()); @@ -146,7 +145,6 @@ public int process(Buffer inputBuffer, Buffer outputBuffer) return BUFFER_PROCESSED_OK; } - /** * Estimates the signal power and use the levelRatio to * scale it to the needed levels. @@ -212,7 +210,7 @@ public void close() } /** - * Restes its state. + * Resets its state. */ public void reset() { diff --git a/src/net/java/sip/communicator/impl/neomedia/device/MediaDeviceSession.java b/src/net/java/sip/communicator/impl/neomedia/device/MediaDeviceSession.java index 4e0f05570..917b1ae9c 100644 --- a/src/net/java/sip/communicator/impl/neomedia/device/MediaDeviceSession.java +++ b/src/net/java/sip/communicator/impl/neomedia/device/MediaDeviceSession.java @@ -900,8 +900,10 @@ private void processorControllerUpdate(ControllerEvent event) if (format != null) setFormat(processor, format); - if(NeomediaActivator.getMediaServiceImpl() - .getLocalSoundLevelListeners().size() > 0) + if(NeomediaActivator + .getMediaServiceImpl() + .getLocalSoundLevelListeners().size() + > 0) { // here we add sound level indicator for captured media // from the microphone if there are interested listeners