private bool m_disposed; // Object disposed flag #endregion #region [ Constructors ] /// <summary> /// Creates a new <see cref="FrameQueue"/>. /// </summary> internal FrameQueue(CreateNewFrameFunction createNewFrame) { m_createNewFrame = createNewFrame; m_frameList = new(); m_frameHash = new(); m_queueLock = new(); }
private bool m_disposed; // Object disposed flag #endregion #region [ Constructors ] /// <summary> /// Creates a new <see cref="FrameQueue"/>. /// </summary> internal FrameQueue(CreateNewFrameFunction createNewFrame) { m_createNewFrame = createNewFrame; m_frameList = new LinkedList <TrackingFrame>(); m_frameHash = new ConcurrentDictionary <long, TrackingFrame>(); m_queueLock = new SpinLock(); m_downsamplingMethod = DownsamplingMethod.LastReceived; }
private bool m_disposed; // Object disposed flag #endregion #region [ Constructors ] /// <summary> /// Creates a new <see cref="FrameQueue"/>. /// </summary> internal FrameQueue(CreateNewFrameFunction createNewFrame) { m_createNewFrame = createNewFrame; m_frameList = new LinkedList<TrackingFrame>(); m_frameHash = new ConcurrentDictionary<long, TrackingFrame>(); m_queueLock = new SpinLock(); m_downsamplingMethod = DownsamplingMethod.LastReceived; }
/// <summary> /// Releases the unmanaged resources used by the <see cref="FrameQueue"/> object and optionally releases the managed resources. /// </summary> /// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param> protected virtual void Dispose(bool disposing) { if (!m_disposed) { try { if (disposing) { Clear(); m_frameList = null; m_frameHash = null; m_createNewFrame = null; m_head = null; m_last = null; } } finally { m_disposed = true; // Prevent duplicate dispose. } } }