Exemple #1
0
        public void Seek(TimeSpan when)
        {
            lock ( LoadPacketBuffer ) {
                while (LoadPacketBuffer.Count > 0)
                {
                    var apr = LoadPacketBuffer.Dequeue();
                    Keyframes += apr.Count(ap => ap.IsKeyframe);
                    Packets.AddRange(apr);
                }
            }
            if (Packets.Count <= 0)
            {
                return;
            }

            DumpChunksAround(when);
            var i = BinarySearchIndexBefore(Packets, ap => ap.SinceStart >= when);

            if (i == -1)
            {
                i = 0;
            }
            Debug.Assert(Packets[i].DecodedCache != null);
            CurrentFrame.SinceStart = Packets[i].SinceStart;
            CurrentFrame.Data       = Packets[i].DecodedCache;
        }
Exemple #2
0
 public void BuildPackets()
 {
     Packets.Clear();
     if (_data.Count > 1)
     {
         Packets.AddRange(Tools.Builder.GetPackets(_data, Options));
         PacketsBuilt?.Invoke(this, new PacketsBuiltEventArgs(Packets));
     }
 }
Exemple #3
0
        public void AddRange(IEnumerable <IOSCPacket> packets)
        {
            if (packets == null)
            {
                throw new NullReferenceException(nameof(packets));
            }

            Packets.AddRange(packets);
        }
Exemple #4
0
 private void LoadBinary_Completed(List <UltimaPacket> items)
 {
     Packets.AddRange(items);
 }