Exemplo n.º 1
0
        /**
         * De-register the call-back used to receive native media player events.
         */
        private void DeregisterEventListener()
        {
            Logger.Debug("DeregisterEventListener()");
            IntPtr callbackPtr = Marshal.GetFunctionPointerForDelegate(callback);

            foreach (int value in Enum.GetValues(typeof(libvlc_event_e)))
            {
                if (value >= (int)libvlc_event_e.libvlc_MediaListItemAdded && value <= (int)libvlc_event_e.libvlc_MediaListWillDeleteItem)
                {
                    Logger.Debug("event={}", value);
                    LibVlc.libvlc_event_detach(mediaListEventManager, value, callbackPtr, IntPtr.Zero);
                }
            }
        }
Exemplo n.º 2
0
 /**
  *
  */
 private void DeregisterEventListener()
 {
     Logger.Debug("DeregisterEventListener()");
     if (callback != null)
     {
         IntPtr callbackPtr = Marshal.GetFunctionPointerForDelegate(callback);
         foreach (int value in Enum.GetValues(typeof(libvlc_event_e)))
         {
             // The native event manager reports that it does not support
             // libvlc_MediaListPlayerPlayed or libvlc_MediaListPlayerStopped
             if (value >= (int)libvlc_event_e.libvlc_MediaListPlayerNextItemSet && value <= (int)libvlc_event_e.libvlc_MediaListPlayerNextItemSet)
             {
                 Logger.Debug("event={}", (libvlc_event_e)value);
                 LibVlc.libvlc_event_detach(mediaListPlayerEventManager, value, callbackPtr, IntPtr.Zero);
             }
         }
         callback = null;
     }
 }