public MXFEntryIndex(UInt64 index, MXFReader reader, byte?sliceCount, byte?posTableCount, UInt32 length) : base(reader) { this.m_eType = MXFObjectType.Index; this.Length = length; this.Index = index; this.TemporalOffset = reader.ReadsB(); this.KeyFrameOffset = reader.ReadsB(); this.Flags = reader.ReadB(); this.StreamOffset = reader.ReadL(); if (sliceCount.HasValue && sliceCount.Value > 0) { this.SliceOffsets = new UInt32[sliceCount.Value]; for (int n = 0; n < sliceCount; n++) { this.SliceOffsets[n] = reader.ReadD(); } } if (posTableCount.HasValue && posTableCount.Value > 0) { this.PosTable = new MXFRational[posTableCount.Value]; for (int n = 0; n < posTableCount; n++) { this.PosTable[n] = reader.ReadRational(); } } }
public MXFEntryDelta(MXFReader reader, UInt32 length) : base(reader) { this.m_eType = MXFObjectType.Index; this.Length = length; this.PosTableIndex = reader.ReadsB(); this.Slice = reader.ReadB(); this.ElementDelta = reader.ReadD(); }
/// <summary> /// Overridden method to process local tags /// </summary> /// <param name="localTag"></param> protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag) { switch (localTag.Tag) { case 0x3D03: this.AudioSamplingRate = reader.ReadRational(); return(true); case 0x3D02: this.Locked = reader.ReadBool(); return(true); case 0x3D04: this.AudioRefLevel = reader.ReadsB(); return(true); case 0x3D05: this.ElectroSpatialFormulation = reader.ReadB(); return(true); case 0x3D07: this.ChannelCount = reader.ReadD(); return(true); case 0x3D01: this.QuantizationBits = reader.ReadD(); return(true); case 0x3D0C: this.DialNorm = reader.ReadsB(); return(true); case 0x3D06: this.SoundEssenceCoding = reader.ReadKey(); return(true); } return(base.ParseLocalTag(reader, localTag)); }