protected override void Dispose(bool disposing) { if (!m_disposed) { try { if (disposing) { if ((object)m_waveIn != null) { m_waveIn.Dispose(); m_waveIn = null; } } } finally { m_disposed = true; // Prevent duplicate dispose. base.Dispose(disposing); // Call base class Dispose(). } } }