private void resetFifo() {
		mCount = 0;
		mBufferIn = 0;
		mBufferOut = 0;
		mTimestamps = new long[mBufferCount];
		mBufferRequested = new Semaphore(mBufferCount);
		mBufferCommitted = new Semaphore(0);
		mReport.reset();
		mAverageBitrate.reset();
	}
This RTP socket implements a buffering mechanism relying on a FIFO of buffers and a Thread.
@throws IOException
src/net/majorkernelpanic/streaming/rtp/RtpSocket.java