public void Dispose()
 {
     _timer?.Unsubscribe();
     _timer = null;
     lock (_queueLock)
     {
         foreach (var p in _queue)
         {
             _streamer.PacketPool.Back(p);
         }
         _queue.Clear();
     }
 }
        public void Dispose()
        {
            _dxFilterRuntime?.Dispose();
            _directXPipeline?.Dispose();
            _directXPipelineLowRes?.Dispose();
            _defferedContext?.Dispose();
            _timer.Unsubscribe();

            foreach (var toRemove in _inputRuntimes)
            {
                toRemove.Dispose(_framePool);
            }

            _helper?.Dispose();
            _helper = null;
        }
예제 #3
0
        public void Dispose()
        {
            lock (this)
            {
                if (!_disposed)
                {
                    _timer.Unsubscribe();

                    if (_payloads.Count > 0)
                    {
                        Core.LogWarning($"Disposing {_payloads.Count} payloads in {_name} queue");
                    }

                    while (_payloads.TryDequeue(out var payload))
                    {
                        _payloadPool.Back(payload.Payload);
                    }
                    _disposed = true;
                }
            }
        }
 public void Dispose()
 {
     _timer.Unsubscribe();
 }