public override bool Parse(QtParser parser) { if (!base.Parse(parser)) { return(false); } parser.GetFlags <Attribute, Flag>(Attribute.Flags, 4); uint dataReferenceType = parser.GetFourCC(Attribute.DataReferenceType); int dataReferenceSize = parser.GetInt(Attribute.DataReferenceSize); if (dataReferenceType == (uint)DataReferenceType.alis) { parser.GetUInt(Attribute.DataReference); // TODO test } else if (dataReferenceType == (uint)DataReferenceType.url_) { uint maxUrlLength = (uint)QtDetector.Configurable[QtDetector.ConfigurationKey.ReferenceMovieDataReferenceMaxUrlLength]; parser.GetCString(Attribute.DataReference, maxUrlLength); } return(this.Valid); }