public AudioConvertError Convert(int?loopStart, int?loopEnd, VorbisWaveReader oggFile, out byte[] convertedData) { var meta = new VorbisReader(oggFile); var volume = 1.0f; var numChannels = meta.Channels; var sampleRate = meta.SampleRate; loopStart = loopStart ?? 0; loopEnd = loopEnd ?? (int)oggFile.Length; MemoryStream scd = CreateSCDHeader((int)oggFile.Length, volume, numChannels, sampleRate, (int)loopStart, (int)loopEnd); scd.Seek(0, SeekOrigin.End); oggFile.CopyTo(scd); scd.Seek(0, SeekOrigin.Begin); convertedData = scd.ToArray(); scd.Dispose(); oggFile.Dispose(); return(AudioConvertError.None); }