public void Sample2Test() { const string source = @"D:\Sergey\swf\first.swf"; var secondTags = IterateTags(Cycle(source)).ToList(); var firstFile = File.Open(source, FileMode.Open); var firstTags = IterateTags(firstFile).ToList(); var deserializer = new SwfTagDeserializer(new SwfFile { FileInfo = { Version = 10 } }); for (var i = 0; i < firstTags.Count; i++) { var firstTag = firstTags[i]; var secondTag = secondTags[i]; var firstType = firstTag.Type; var secondType = secondTag.Type; if (firstType == SwfTagType.DefineSprite) { continue; //For now } if (firstType != secondType) { throw new InvalidOperationException(); } var dual = new DualSwfStreamReader(new MemoryStream(firstTag.Data), new MemoryStream(secondTag.Data)); deserializer.ReadTag(firstType, dual); } }
public void Sample1Test() { const string path = "Sample - 1.swf"; var file = ReadSwfFile(path); var mem = new MemoryStream(); file.WriteTo(mem); mem.Seek(0, SeekOrigin.Begin); var firstTags = IterateTags(OpenEmbeddedResource(path)).ToList(); var secondTags = IterateTags(mem).ToList(); var deserializer = new SwfTagDeserializer(file); for (var i = 0; i < firstTags.Count; i++) { var firstTag = firstTags[i]; var secondTag = secondTags[i]; var firstType = firstTag.Type; var secondType = secondTag.Type; if (firstType != secondType) { throw new InvalidOperationException(); } //if (firstType == SwfTagType.DefineSprite) continue; //For now var dual = new DualSwfStreamReader(new MemoryStream(firstTag.Data), new MemoryStream(secondTag.Data)); //var dual = new SwfStreamReader(new MemoryStream(firstTag.Data)); deserializer.ReadTag(firstType, dual); } }