protected void Dispose(bool disposing) { if (_disposed) { return; } HandleManager.Remove(this); EventManager.Detach(EventTypes.MediaMetaChanged, _onMetaChanged, IntPtr.Zero); EventManager.Detach(EventTypes.MediaSubItemAdded, _onSubItemAdded, IntPtr.Zero); EventManager.Detach(EventTypes.MediaDurationChanged, _onDurationChanged, IntPtr.Zero); EventManager.Detach(EventTypes.MediaParsedChanged, _onParsedChanged, IntPtr.Zero); EventManager.Detach(EventTypes.MediaFreed, _onFreed, IntPtr.Zero); EventManager.Detach(EventTypes.MediaStateChanged, _onStateChanged, IntPtr.Zero); EventManager.Dispose(); _onMetaChangedHandle.Free(); _onSubItemAddedHandle.Free(); _onDurationChangedHandle.Free(); _onParsedChangedHandle.Free(); _onFreedHandle.Free(); _onStateChangedHandle.Free(); _releaseMediaFunction.Delegate(InstancePointer); InstancePointer = IntPtr.Zero; _disposed = true; }
/// <summary> /// Release this event manager. /// </summary> /// <exception cref="Exception">A delegate callback throws an exception.</exception> public void Dispose() { HandleManager.Remove(this); // We should not free libvlc_event_manager instances as their life cycles are // managed by their parent libvlc_media_player or libvlc_media instances. InstancePointer = IntPtr.Zero; }
protected void Dispose(bool disposing) { if (_disposed) { return; } HandleManager.Remove(this); _releaseInstanceFunction.Delegate(InstancePointer); InstancePointer = IntPtr.Zero; _onVlmMediaAddedHandle.Free(); _onVlmMediaRemovedHandle.Free(); _onVlmMediaChangedHandle.Free(); _onVlmMediaInstanceStartedHandle.Free(); _onVlmMediaInstanceStoppedHandle.Free(); _onVlmMediaInstanceStatusInitHandle.Free(); _onVlmMediaInstanceStatusOpeningHandle.Free(); _onVlmMediaInstanceStatusPlayingHandle.Free(); _onVlmMediaInstanceStatusPauseHandle.Free(); _onVlmMediaInstanceStatusEndHandle.Free(); _onVlmMediaInstanceStatusErrorHandle.Free(); _disposed = true; }
protected void Dispose(bool disposing) { if (_disposed) { return; } HandleManager.Remove(this); _releaseEqualizerFunction.Delegate(InstancePointer); InstancePointer = IntPtr.Zero; _disposed = true; }
/// <summary> /// Release this event manager. /// </summary> /// <exception cref="Exception">A delegate callback throws an exception.</exception> public void Dispose() { HandleManager.Remove(this); LibVlcManager.Free(InstancePointer); InstancePointer = IntPtr.Zero; }