/// <summary> /// Disposes all unmanaged resources. /// </summary> /// <param name="isDisposing">If this parameters is <code>True</code> then Dispose is called explicitly, else Dispose called from finalizer.</param> protected override void Dispose(bool isDisposing) { try { if (isDisposing) { if (thread != null) { try { if (thread.IsAlive) { stopLoggingThread(); } } catch (Exception exc) { if (logger.IsErrorEnabled) { logger.Error("Error while trying to interrupt a logging thread.", exc); } throw; } } if (vlcLog != null) { vlcLog.Dispose(); } } // if (descriptor != IntPtr.Zero) { LibVlcInterop.libvlc_release(descriptor); } } finally { base.Dispose(isDisposing); } }