public void EncodeCapture(CapturePacket cPacket) { cPacket.ParentDirectory = this._encodeDisposeDir.DirectoryPath; this.__staticCompressionQueue.Enqueue(cPacket.WriteEncoded(null)); // Compress if limit if (this.__staticCompressionQueue.Count == this.CaptureBufferCount) { this._bufferedOperator.AddTask(0, true, this._encodeDisposeDir, this.__staticCompressionQueue.ToArray()); this._encodeDisposeDir = new DisposableDirectory(); this.DebugEvent("New encodeDDir: " + this._encodeDisposeDir); /*Compression7z cmp = new Compression7z(true); cmp.OnComplete += new Compression7z.ProcessEventHandler(cmp_OnComplete); cmp.CompressFiles(true, this.__staticCompressionQueue.Peek(), Compression7z.Type._7z, Compression7z.Compression.Ultra, this.__staticCompressionQueue.ToArray(), null, "h4x0r"); */ this.__staticCompressionQueue = new Queue<string>(); } }
public void EncodeCapture(CapturePacket cPacket) { cPacket.ParentDirectory = this._encodeDisposeDir.DirectoryPath; this.__staticCompressionQueue.Enqueue(cPacket.WriteEncoded(null)); // Compress if limit if (this.__staticCompressionQueue.Count == this.CaptureBufferCount) { this._bufferedOperator.AddTask(0, true, this._encodeDisposeDir, this.__staticCompressionQueue.ToArray()); this._encodeDisposeDir = new DisposableDirectory(); this.DebugEvent("New encodeDDir: " + this._encodeDisposeDir); /*Compression7z cmp = new Compression7z(true); * cmp.OnComplete += new Compression7z.ProcessEventHandler(cmp_OnComplete); * cmp.CompressFiles(true, this.__staticCompressionQueue.Peek(), Compression7z.Type._7z, Compression7z.Compression.Ultra, this.__staticCompressionQueue.ToArray(), null, "h4x0r"); */ this.__staticCompressionQueue = new Queue <string>(); } }
/// <summary> /// Encodes/Buffers the capture packet and prepares for it's transmission /// </summary> /// <param name="id">Client Id</param> /// <param name="cPacket">Capture packet containing encapsulated screen & event logs</param> /// <param name="isSingleCapture">Live stream or buffered stream</param> public void EncodeCapture(int id, CapturePacket cPacket, bool isSingleCapture) { //this._neuroLog.WriteFormat("Encoding Capture", "Id: {0}\nSingle Capture: {1}\nShrink Factor: {2}\nCapture Packet: {3}", id, isSingleCapture, this.CaptureShrinkFactor, cPacket); if (isSingleCapture) { this.DispatchData(id, ActionCenter.ActionType.CaptureLive, cPacket.Encode().ToArray()); } else { cPacket.ParentDirectory = this._encodeDisposeDir.DirectoryPath; this._bufferCompressionQueue.Enqueue(cPacket.WriteEncoded(null)); if (this._bufferCompressionQueue.Count == this.CaptureBufferCount) // Compress and transmit if buffer limit reached { this._bufferedOperator.AddTask(0, true, this._encodeDisposeDir, this._bufferCompressionQueue.ToArray()); // Create fresh queue this._encodeDisposeDir = new DisposableDirectory(); //this.DebugEvent("New encodeDDir: " + this._encodeDisposeDir); this._bufferCompressionQueue = new Queue <string>(); } } }