public PsxAudioTrack(IMixer mixer, Stream sector) { _mixer = mixer; _endOfTrack = false; _adpcmStatus = new ADPCMStatus[2]; for (int i = 0; i < _adpcmStatus.Length; i++) { _adpcmStatus[i] = new ADPCMStatus(); } sector.Seek(19, SeekOrigin.Begin); byte format = (byte)sector.ReadByte(); bool stereo = (format & (1 << 0)) != 0; int rate = ((format & (1 << 2)) != 0) ? 18900 : 37800; _audStream = new QueuingAudioStream(rate, stereo); _dst = new byte[AUDIO_DATA_SAMPLE_COUNT * 2]; _buf = new byte[AUDIO_DATA_CHUNK_SIZE]; }