/*
* Copyright (C) 2005 Luca Veltri - University of Parma - Italy
*
* This source code is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This source code is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this source code; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* Author(s):
* Luca Veltri (luca.veltri@unipr.it)
*/
package local.media;
import java.io.PipedInputStream;
import java.io.PipedOutputStream;
import java.io.IOException;
/** ExtendedPipedInputStream.
*/
public class ExtendedPipedInputStream extends PipedInputStream
{
/** The circular buffer size. */
public static int EXT_PIPE_SIZE=32768;
/** Creates a new ExtendedPipedInputStream. */
public ExtendedPipedInputStream()
{ super();
buffer=new byte[EXT_PIPE_SIZE];
}
/** Creates a new ExtendedPipedInputStream. */
public ExtendedPipedInputStream(PipedOutputStream src) throws IOException
{ super(src);
buffer=new byte[EXT_PIPE_SIZE];
}
/** Returns the number of bytes that can be read from this input stream without blocking. */
//public int available()
/** Closes this piped input stream and releases any system resources associated with the stream. */
//public void close() throws IOException
/** Causes this piped input stream to be connected to the piped output stream src. */
//public void connect(PipedOutputStream src) throws IOException
/** Reads the next byte of data from this piped input stream. */
public int read() throws IOException
{ try
{ return super.read();
}
catch (IOException e) { return -1; }
}
/** Reads up to len bytes of data from this piped input stream into an array of bytes. */
//public int read(byte[] b, int off, int len)
/** Receives a byte of data. */
protected void receive(int b) throws IOException
{ try
{ if (in!=out) super.receive(b);
}
catch (IOException e) {}
}
}