Ejemplo n.º 1
0
        /// <summary>
        /// Overridden method to process local tags
        /// </summary>
        /// <param name="localTag"></param>
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            if (localTag.Key != null)
            {
                switch (localTag.Key)
                {
                case var _ when localTag.Key == pictureFormatObject_Key:
                    this.AddChild(reader.ReadReference <MXFDescriptiveObject>("PictureFormatObject"));
                    return(true);

                case var _ when localTag.Key == projectObject_Key:
                    this.AddChild(reader.ReadReference <MXFDescriptiveObject>("ProjectObject"));
                    return(true);

                case var _ when localTag.Key == captionsDescriptionObjects_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFDescriptiveObject>("CaptionsDescriptionObjects", "CaptionsDescriptionObject"));
                    return(true);

                case var _ when localTag.Key == contractObjects_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFDescriptiveObject>("ContractObjects", "ContractObject"));
                    return(true);
                }
            }

            return(base.ParseLocalTag(reader, localTag));
        }
Ejemplo n.º 2
0
        /// <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));
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Overridden method to process local tags
 /// </summary>
 /// <param name="localTag"></param>
 protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
 {
     switch (localTag.Tag)
     {
     case 0x4701: this.AddChild(reader.ReadReference <MXFGenericDescriptor>("EssenceDescription")); return(true);
     }
     return(base.ParseLocalTag(reader, localTag));
 }
Ejemplo n.º 4
0
 protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
 {
     switch (localTag.Tag)
     {
     case 0x001a: this.AddChild(reader.ReadReference <MXFTypeDefinition>("SetElementType")); return(true);
     }
     return(base.ParseLocalTag(reader, localTag));
 }
Ejemplo n.º 5
0
        /// <summary>
        /// Overridden method to process local tags
        /// </summary>
        /// <param name="localTag"></param>
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            switch (localTag.Tag)
            {
            // TODO replace generic MXFObject with class OperationDefinition once implemented
            case 0x0B01: this.AddChild(reader.ReadReference <MXFObject>("Operation")); return(true);

            case 0x0B04: this.BypassOverride = reader.ReadUInt32(); return(true);

            case 0x0B05: this.AddChild(reader.ReadReference <MXFSourceReference>("Rendering")); return(true);

            case 0x0B02: this.AddChild(reader.ReadReferenceSet <MXFSegment>("InputSegments", "InputSegment")); return(true);

            case 0x0B03: this.AddChild(reader.ReadReferenceSet <MXFParameter>("Parameters", "Parameter")); return(true);
            }
            return(base.ParseLocalTag(reader, localTag));
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Overridden method to process local tags
        /// </summary>
        /// <param name="localTag"></param>
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            if (localTag.Key != null)
            {
                switch (localTag.Key)
                {
                case var _ when localTag.Key == frameworkTitle_Key:
                    this.FrameworkTitle = reader.ReadUTF16String(localTag.Size);
                    return(true);

                case var _ when localTag.Key == extTextLanguageCode_Key:
                    this.FrameworkExtendedTextLanguageCode = reader.ReadUTF8String(localTag.Size);
                    return(true);

                case var _ when localTag.Key == primExtSpokenLanguageCode_Key:
                    this.PrimaryExtendedSpokenLanguageCode = reader.ReadUTF8String(localTag.Size);
                    return(true);

                case var _ when localTag.Key == secExtSpokenLanguageCode_Key:
                    this.SecondaryExtendedSpokenLanguageCode = reader.ReadUTF8String(localTag.Size);
                    return(true);

                case var _ when localTag.Key == orgExtSpokenLanguageCode_Key:
                    this.OriginalExtendedSpokenLanguageCode = reader.ReadUTF8String(localTag.Size);
                    return(true);

                case var _ when localTag.Key == thesaurusName_Key:
                    this.FrameworkThesaurusName = reader.ReadUTF8String(localTag.Size);
                    return(true);

                case var _ when localTag.Key == contactsListObject_Key:
                    this.AddChild(reader.ReadReference <MXFContactsList>("ContactsList Object"));
                    return(true);

                case var _ when localTag.Key == locations_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFLocation>("LocationObjects", "LocationObject"));
                    return(true);

                case var _ when localTag.Key == titlesObjects_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFDescriptiveObject>("Titles Objects", "TitlesObject"));
                    return(true);

                case var _ when localTag.Key == annotationObjects_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFDescriptiveObject>("AnnotationObjects", "AnnotationObject"));
                    return(true);

                case var _ when localTag.Key == participantObjects_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFDescriptiveObject>("ParticipantObjects", "ParticipantObjects"));
                    return(true);

                case var _ when localTag.Key == metadataServerLocators_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFLocator>("MetadataServerLocators", "MetadataServerLocator"));
                    return(true);
                }
            }

            return(base.ParseLocalTag(reader, localTag));
        }
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            switch (localTag.Tag)
            {
            // TODO: this is a risky operation reading the array like this
            case 0x0018: ElementCount = reader.ReadUInt32(); return(true);

            case 0x0017: this.AddChild(reader.ReadReference <MXFTypeDefinition>("FixedArrayElementType")); return(true);
            }
            return(base.ParseLocalTag(reader, localTag));
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Overridden method to process local tags
        /// </summary>
        /// <param name="localTag"></param>
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            switch (localTag.Tag)
            {
            case 0x1801: this.AddChild(reader.ReadReference <MXFOperationGroup>("TransitionOperation")); return(true);

            case 0x1802: this.CutPoint = reader.ReadUInt64(); return(true);
            }

            return(base.ParseLocalTag(reader, localTag));
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Overridden method to process local tags
        /// </summary>
        /// <param name="localTag"></param>
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            switch (localTag.Tag)
            {
            case 0x5701: this.ToleranceMode = (MXFToleranceModeType)reader.ReadByte(); return(true);

            case 0x5703: this.ToleranceWindow = reader.ReadArray <byte>(reader.ReadByte, localTag.Size); return(true);

            // TODO replace generic MXFObject with class ApplicationPluginObject once implemented
            case 0x5702: this.AddChild(reader.ReadReference <MXFObject>("InterpolationDefinition")); return(true);
            }
            return(base.ParseLocalTag(reader, localTag));
        }
Ejemplo n.º 10
0
        /// <summary>
        /// Overridden method to process local tags
        /// </summary>
        /// <param name="localTag"></param>
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            if (localTag.Key != null)
            {
                switch (localTag.Key)
                {
                case var _ when localTag.Key == linkedDMPluginID_Key:
                    this.AddChild(reader.ReadReference <MXFDescriptiveMarker>("LinkedDescriptiveFrameworkPluginID")); return(true);
                }
            }

            return(base.ParseLocalTag(reader, localTag));
        }
Ejemplo n.º 11
0
        /// <summary>
        /// Overridden method to process local tags
        /// </summary>
        /// <param name="localTag"></param>
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            if (localTag.Key != null)
            {
                switch (localTag.Key)
                {
                case var _ when localTag.Key == textBasedObject_Key:
                    this.AddChild(reader.ReadReference <MXFTextBasedObject>("TextBasedObject"));
                    return(true);
                }
            }

            return(base.ParseLocalTag(reader, localTag));
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Overridden method to process local tags
        /// </summary>
        /// <param name="localTag"></param>
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            switch (localTag.Tag)
            {
            case 0x4801: this.TrackID = reader.ReadUInt32(); return(true);

            case 0x4802: this.TrackName = reader.ReadUTF16String(localTag.Size); return(true);

            case 0x4803: this.AddChild(reader.ReadReference <MXFSegment>("Segment")); return(true);

            case 0x4804: this.TrackNumber = reader.ReadUInt32(); return(true);
            }
            return(base.ParseLocalTag(reader, localTag));
        }
Ejemplo n.º 13
0
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            switch (localTag.Tag)
            {
            case 0x0008:
                this.AddChild(reader.ReadReference <MXFClassDefinition>("ParentClass")); return(true);

            case 0x0009:
                this.AddChild(reader.ReadReferenceSet <MXFPropertyDefinition>("Properties", "Property")); return(true);

            case 0x000a: IsConcrete = reader.ReadBool(); return(true);
            }
            return(base.ParseLocalTag(reader, localTag));
        }
Ejemplo n.º 14
0
        /// <summary>
        /// Overridden method to process local tags
        /// </summary>
        /// <param name="localTag"></param>
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            switch (localTag.Tag)
            {
            case 0x0D03: this.PulldownDirection = (MXFPulldownDirection?)reader.ReadByte(); return(true);

            case 0x0D02: this.PulldownKind = (MXFPulldownKind?)reader.ReadByte(); return(true);

            case 0x0D04: this.PhaseFrame = reader.ReadUInt32(); return(true);

            case 0x0D01: this.AddChild(reader.ReadReference <MXFSegment>("InputSegment")); return(true);
            }

            return(base.ParseLocalTag(reader, localTag));
        }
Ejemplo n.º 15
0
        /// <summary>
        /// Overridden method to process local tags
        /// </summary>
        /// <param name="localTag"></param>
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            switch (localTag.Tag)
            {
            case 0x6102:
                this.DescribedTrackIDs = reader.ReadArray(reader.ReadUInt32, localTag.Size / sizeof(UInt32));
                return(true);

            case 0x6101: this.AddChild(reader.ReadReference <MXFDescriptiveFramework>("DescriptiveFrameworkObject")); return(true);

            case var _ when localTag.Key == metadataScheme_Key:
                this.DescriptiveMetadataScheme = reader.ReadULKey();
                return(true);

            case var _ when localTag.Key == metadataPlugInID_Key: this.DescriptiveMetadataPlugInID = reader.ReadUUIDKey(); return(true);

            case var _ when localTag.Key == metadataApplicationEnvironmentID_Key:
                this.DescriptiveMetadataApplicationEnvironmentID = reader.ReadUTF16String(localTag.Size);
                return(true);
            }
            return(base.ParseLocalTag(reader, localTag));
        }