예제 #1
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 0x4C01: this.ParameterDefinitionReference = reader.ReadUUIDKey(); return(true);
     }
     return(base.ParseLocalTag(reader, localTag));
 }
예제 #2
0
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            switch (localTag.Tag)
            {
            case 0x3c0a: this.InstanceId = reader.ReadUUIDKey(); return(true);

            case 0x0003:
                this.AddChild(reader.ReadReferenceSet <MXFClassDefinition>("ClassDefinitions", "ClassDefinition")); return(true);

            case 0x0004:
                this.AddChild(reader.ReadReferenceSet <MXFTypeDefinition>("TypeDefinitions", "TypeDefinition")); return(true);
            }
            return(base.ParseLocalTag(reader, localTag));
        }
예제 #3
0
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            switch (localTag.Tag)
            {
            case 0x3c0a: InstanceId = reader.ReadUUIDKey(); return(true);

            case 0x0006: MetaDefinitionName = reader.ReadUTF16String(localTag.Size); return(true);

            case 0x0005: MetaDefinitionIdentification = reader.ReadULKey(); return(true);

            case 0x0007: MetaDefinitionDescription = reader.ReadUTF16String(localTag.Size); return(true);
            }
            return(base.ParseLocalTag(reader, localTag));
        }
예제 #4
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 0x3C0A: this.InstanceID = reader.ReadUUIDKey(); return(true);

            case 0x0102: this.LinkedGenerationID = reader.ReadULKey(); return(true);

            case 0x0101: this.ObjectClass = reader.ReadULKey(); return(true);

            // TODO replace generic MXFObject with class ApplicationPluginObject once implemented
            case var _ when localTag.Key == appPluginObjects_Key:
                this.AddChild(reader.ReadReferenceSet <MXFObject>("Application Plugin Objects", "Application Plugin Object"));
                return(true);
            }
            return(base.ParseLocalTag(reader, localTag));
        }
예제 #5
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 == contactID_Key:
                    this.ContactID = reader.ReadUUIDKey(); return(true);

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

                // TODO replace generic MXFObject with class NameValue once implemented
                case var _ when localTag.Key == nameValueObjects_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFObject>("NameValue Objects", "NameValue Object"));
                    return(true);
                }
            }

            return(base.ParseLocalTag(reader, localTag));
        }
예제 #6
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));
        }
예제 #7
0
 public MXFReference(MXFReader reader, string name) : base(reader.Position)
 {
     Name       = name;
     Identifier = reader.ReadUUIDKey();
     Length     = Identifier.Length;
 }
예제 #8
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 == rfc5646TextLanguageCode_Key: this.RFC5646TextLanguageCode = reader.ReadUTF16String(localTag.Size); return(true);

                case var _ when localTag.Key == textDataDescription_Key: this.TextDataDescription = reader.ReadUTF16String(localTag.Size); return(true);

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

                case var _ when localTag.Key == textMIMEMediaType_Key: this.TextMIMEMediaType = reader.ReadUTF16String(localTag.Size); return(true);
                }
            }

            return(base.ParseLocalTag(reader, localTag));
        }