protected virtual void Dispose(bool disposing) { if (_block != IntPtr.Zero) { SafeNativeMethods.VorbisBlockClear(_block); } Marshal.FreeHGlobal(_block); if (_dspState != IntPtr.Zero) { SafeNativeMethods.VorbisDspClear(_dspState); } Marshal.FreeHGlobal(_dspState); SafeNativeMethods.VorbisInfoClear(_info); Marshal.FreeHGlobal(_info); }