public MJpegServer(ILog log, MJpegServerSettings settings) { _log = log; _settings = settings; if (settings.SourceSettings.GetFormat() != ImageFormat.Jpeg) { throw new InvalidDataException("Expected input image format is jpeg!"); } _serverSource = ServerSourceFactory.Create(_log, settings.SourceSettings); var sourcei = _serverSource.GetSource(); try { _cache = sourcei.PrepareSourceServerCache(); _serverSource.SetCache(_cache); } finally { _serverSource.DisposeClient(sourcei); } _server = new WebServer(log, _settings.Uri); _server.IncomingRequest += HandleRequest; _server.Start(); }
void IDisposable.Dispose() { if (_server != null) { ((IDisposable)_server).Dispose(); _server = null; } if (_serverSource != null) { _serverSource.DisposeServer(); _serverSource = null; } if (_cache != null) { _cache.Dispose(); _cache = null; } }
/// <summary> /// Sets cache. /// </summary> /// <param name="cache">Cache</param> public virtual void SetSourceServerCache(ISourceServerCache cache) { // Don't need it. }
public void SetCache(ISourceServerCache cache) { _serverCache = cache; }
public override void SetSourceServerCache(ISourceServerCache cache) { base.SetSourceServerCache(cache); _cache = (FolderServerCache)cache; }