/// <summary> /// Create a new VideoStreamSaver from the specified data source /// </summary> /// <param name="DataSource">The data source we monitor</param> public VideoStreamSaver(ISavableZomBData DataSource, string file) { (this as IZomBDataSaver).Add(DataSource, file); pubicQueue = new Queue<MemoryStream>(); imageQueue = new Queue<MemoryStream>(); saber = new Thread(aviSaverbg); saber.IsBackground = true; FPS = 15; saber = new Thread(aviSaverbg); saber.IsBackground = true; saber.Start(file); }
public void Dispose() { EndSave(); Thread.Sleep(1); try { saber.Abort(); } catch { } Thread.Sleep(1); if (srm != null) { try { srm.Close(); } catch { } } saber = null; srm = null; if (source != null) { try { source.DataUpdated -= source_DataUpdated; } catch { } source = null; } }
void IZomBDataSaver.Add(ISavableZomBData DataSource, string file) { if (source == null) { source = DataSource; source.DataUpdated += new EventHandler(source_DataUpdated); } else throw new InvalidOperationException("VideoStreamSaver can only have one data source"); }