Exemplo n.º 1
0
        public TtyRecKeyframeDecoder(int w, int h, IEnumerable <Stream> streams, TimeSpan between_stream_delay, TimeSpan between_packets_delay)
        {
            Width  = w;
            Height = h;

            LoadThread              = new Thread(() => DoBackgroundLoad());
            LoadStreams             = streams;
            LoadBetweenStreamDelay  = between_stream_delay;
            LoadBetweenPacketsDelay = between_packets_delay;
            LoadThread.Start();

            if (Packets.Count <= 0)
            {
                return;
            }
            CurrentFrame = DumpTerminal(Packets[0].RestartPosition, Packets[0].SinceStart);
        }
Exemplo n.º 2
0
        TtyRecFrame DumpTerminal(Terminal term, TimeSpan since_start)
        {
            var h = Height;
            var w = Width;

            var frame = new TtyRecFrame()
            {
                Data       = new TerminalCharacter[w, h],
                SinceStart = since_start
            };

            for (int y = 0; y < h; ++y)
            {
                var line = term.GetLine(y);
                for (int x = 0; x < w; ++x)
                {
                    frame.Data[x, y] = line[x];
                }
            }

            return(frame);
        }