public override void ReadData() { byte tagType = 0; uint length = 0; Action ReadTagAndLength = () => { tagType = Br.ReadByte(); length = Br.ReadUInt32(); }; ReadTagAndLength(); _MP4ESDescrTag_ID = Br.ReadUInt16(); if (tagType == MP4ESDescrTag) { _MP4ESDescrTag_Priority = Br.ReadByte(); } ReadTagAndLength(); if (tagType == MP4DecConfigDescrTag) { _MP4DecConfigDescrTag_ObjectTypeID = Br.ReadByte(); _MP4DecConfigDescrTag_StreamType = Br.ReadByte(); _MP4DecConfigDescrTag_BufferSizeDB = Br.ReadU24(); _MP4DecConfigDescrTag_MaxBitRate = Br.ReadUInt32(); _MP4DecConfigDescrTag_AvgBitRate = Br.ReadUInt32(); ReadTagAndLength(); if (tagType == MP4UnknownTag) { if (tagType == MP4DecSpecificDescrTag) { //iso14496-3 //http://wiki.multimedia.cx/index.php?title=MPEG-4_Audio ExtraDataStart = Br.BaseStream.Position; ExtraDataLength = length; SkipRead(false); } } } }