Example #1
0
        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>();
            }
        }
Example #2
0
        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>();
            }
        }
Example #3
0
        /// <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>();
                }
            }
        }