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; }
public void BuildPackets() { Packets.Clear(); if (_data.Count > 1) { Packets.AddRange(Tools.Builder.GetPackets(_data, Options)); PacketsBuilt?.Invoke(this, new PacketsBuiltEventArgs(Packets)); } }
public void AddRange(IEnumerable <IOSCPacket> packets) { if (packets == null) { throw new NullReferenceException(nameof(packets)); } Packets.AddRange(packets); }
private void LoadBinary_Completed(List <UltimaPacket> items) { Packets.AddRange(items); }