public boolean readBuffersFromNextSoundInSequence()
    {
        if( !toStream )
        {
            errorMessage( "Method 'readBuffersFromNextSoundInSequence' may " +
                          "only be used for streaming sources." );
            return false;
        }

        synchronized( soundSequenceLock )
        {
            if( soundSequenceQueue != null && soundSequenceQueue.size() > 0 )
            {
                if( nextCodec != null )
                    nextCodec.cleanup();
                nextCodec = SoundSystemConfig.getCodec(
                                    soundSequenceQueue.get( 0 ).getFilename() );
                nextCodec.initialize( soundSequenceQueue.get( 0 ).getURL() );
                
                SoundBuffer buffer = null;
                for( int i = 0;
                     i < SoundSystemConfig.getNumberStreamingBuffers()
                         && !nextCodec.endOfStream();
                     i++ )
                {
                    buffer = nextCodec.read();
                    if( buffer != null )
                    {
                        if( nextBuffers == null )
                            nextBuffers = new LinkedList<SoundBuffer>();
                        nextBuffers.add( buffer );
                    }
                }
                return true;
            }
        }
        return false;
    }