private void ErrorCallback(IntPtr decoder, FlacDecoderErrorStatus errorStatus, IntPtr clientData) { switch (errorStatus) { case FlacDecoderErrorStatus.LostSync: throw new FlacException("Synchronization was lost."); case FlacDecoderErrorStatus.BadHeader: throw new FlacException("Encountered a corrupted frame header."); case FlacDecoderErrorStatus.FrameCrcMismatch: throw new FlacException("Frame CRC mismatch."); default: throw new FlacException("An unknown error has occurred."); } }