Example #1
0
        public override bool Parse(QtParser parser)
        {
            if (!base.Parse(parser))
            {
                return(false);
            }

            parser.GetUInt(Attribute.PreloadStartTime);
            parser.GetInt(Attribute.PreloadDuration);
            parser.GetFlags <Attribute, PreloadFlags>(Attribute.PreloadFlags, 4);
            parser.GetFlags <Attribute, DefaultHints>(Attribute.DefaultHints, 4);

            return(this.Valid);
        }
        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);
        }
 public override void ParseFlags(QtParser parser)
 {
     parser.GetFlags <QtAtom.Attribute, Flag>(QtAtom.Attribute.Flags, 3);
 }