public virtual void init(int bufferAddr, int bufferSize, int outputAddr, int outputSize, long startPos, long endPos) { this.bufferAddr = bufferAddr; this.outputAddr = outputAddr; this.outputSize = outputSize; this.startPos = (int)startPos; inputBuffer = new pspFileBuffer(bufferAddr + reservedBufferSize, bufferSize - reservedBufferSize, 0, this.startPos); inputBuffer.FileMaxSize = (int)endPos; loopNum = -1; // Looping indefinitely by default initCodec(); halfBufferSize = (bufferSize - reservedBufferSize) >> 1; }