src/net/java/sip/communicator/service/protocol/media/MediaHandler.java
/**
     * Notifies this instance that a <tt>SimpleAudioLevelListener</tt> has been
     * invoked. Forwards the notification to a specific list of
     * <tt>SimpleAudioLevelListener</tt>s.
     *
     * @param lock the <tt>Object</tt> which is to be used to synchronize the
     * access to <tt>listeners</tt>.
     * @param listeners the list of <tt>SimpleAudioLevelListener</tt>s to
     * forward the notification to
     * @param level the value of the audio level to notify <tt>listeners</tt>
     * about
     */
Notifies this instance that a SimpleAudioLevelListener has been
invoked. Forwards the notification to a specific list of
SimpleAudioLevelListeners.

@param lock the Object which is to be used to synchronize the
access to listeners.
@param listeners the list of SimpleAudioLevelListeners to
forward the notification to
@param level the value of the audio level to notify listeners
about
Notifies this instance that a SimpleAudioLevelListener has been invoked . Forwards the notification to a specific list of SimpleAudioLevelListeners . @param lock the Object which is to be used to synchronize the access to listeners . @param listeners the list of SimpleAudioLevelListeners to forward the notification to @param level the value of the audio level to notify listeners about
private void audioLevelChanged(
            Object lock,
            List<SimpleAudioLevelListener> listeners,
            int level)
    {
        List<SimpleAudioLevelListener> ls;
        synchronized (lock)
        {
            if (listeners.isEmpty())
                return;
            else
                ls = listeners;
        }
        for (int i = 0, count = ls.size();
                i < count;
                i++)
        {
            ls.get(i).audioLevelChanged(level);
        }
    }
private void audioLevelChanged ( Object lock , List < SimpleAudioLevelListener > listeners , int level ) { List < SimpleAudioLevelListener > ls ; synchronized ( lock ) { if ( listeners . isEmpty ( ) ) return ; else ls = listeners ; } for ( int i = 0 , count = ls . size ( ) ; i < count ; i ++ ) { ls . get ( i ) . audioLevelChanged ( level ) ; } }
Notifies this instance that a <tt>SimpleAudioLevelListener</tt> has been
 invoked.
Notifies this instance that a <tt > SimpleAudioLevelListener< / tt > has been invoked .