/// <summary> /// Overridden method to process local tags /// </summary> /// <param name="localTag"></param> protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag) { switch (localTag.Tag) { case 0x3B02: this.LastModificationDate = reader.ReadTimestamp(); return(true); case 0x3B05: this.Version = reader.ReadVersion(); return(true); case 0x3B07: this.ObjectModelVersion = reader.ReadUInt32(); return(true); case 0x3B03: this.AddChild(reader.ReadReference <MXFContentStorage>("ContentStorage")); return(true); case 0x3B08: this.AddChild(reader.ReadReference <MXFGenericPackage>("PrimaryPackage")); return(true); case 0x3B09: this.OperationalPattern = reader.ReadULKey(); return(true); case 0x3B06: this.AddChild(reader.ReadReferenceSet <MXFIdentification>("Identifications", "Identification")); return(true); case 0x3B0A: this.AddChild(reader.ReadAUIDSet("EssenceContainers", "EssenceContainer")); return(true); // TODO review how the metadataschemes are read (especially if there are no schemes present) case 0x3B0B: this.AddChild(reader.ReadAUIDSet("Descriptive Metadata Schemes", "DM scheme")); return(true); case var _ when localTag.Key == isRIPPresent_Key: this.IsRIPPresent = reader.ReadBool(); return(true); } return(base.ParseLocalTag(reader, localTag)); }
/// <summary> /// Overridden method to process local tags /// </summary> /// <param name="localTag"></param> protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag) { switch (localTag.Tag) { case 0x3C09: this.ThisGenerationUID = reader.ReadKey(); return(true); case 0x3C01: this.CompanyName = reader.ReadS(localTag.Size); return(true); case 0x3C02: this.ProductName = reader.ReadS(localTag.Size); return(true); case 0x3C03: this.ProductVersion = reader.ReadVersion(); return(true); case 0x3C04: this.ProductVersionString = reader.ReadS(localTag.Size); return(true); case 0x3C05: this.ProductUID = reader.ReadKey(); return(true); case 0x3C06: this.ModificationDate = reader.ReadTimestamp(); return(true); case 0x3C07: this.ToolkitVersion = reader.ReadVersion(); return(true); case 0x3C08: this.Platform = reader.ReadS(localTag.Size); return(true); } return(base.ParseLocalTag(reader, localTag)); }