public static Mp3XingBlock.Model Create(byte[] buf, Mp3Header header) { System.Diagnostics.Debug.Assert(header.IsMpegLayer3); int xix = header.XingOffset; string xingString = ConvertTo.FromAsciiToString(buf, xix, 4); if (xingString == "Info" || xingString == "Xing") { string lameString = ConvertTo.FromAsciiToString(buf, xix + 0x78, 9); if (lameString.StartsWith("LAME")) { return(new Mp3LameBlock.Model(buf, xix, header, xingString, lameString)); } else { return(new Mp3XingBlock.Model(buf, xix, header, xingString)); } } return(null); }