Пример #1
0
 /// <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);
     }
 }