X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2FMetadata.h;h=72ca7a55ff1e37291684318ee122a07a4259924c;hb=20c2f749a4593c418259bcf8b5f6f0775b70d910;hp=5121989ccdfb99e03a4173bf634699cad81a148e;hpb=2f6f8dbb08b63351bfa25d3a008a41dec78f7dde;p=asdcplib.git diff --git a/src/Metadata.h b/src/Metadata.h index 5121989..72ca7a5 100755 --- a/src/Metadata.h +++ b/src/Metadata.h @@ -1,5 +1,5 @@ /* -Copyright (c) 2005-2012, John Hurst +Copyright (c) 2005-2017, John Hurst All rights reserved. Redistribution and use in source and binary forms, with or without @@ -57,7 +57,7 @@ namespace ASDCP UUID ProductUID; Kumu::Timestamp ModificationDate; VersionType ToolkitVersion; - optional_property Platform; + optional_property Platform; Identification(const Dictionary*& d); Identification(const Identification& rhs); @@ -105,7 +105,7 @@ namespace ASDCP public: const Dictionary*& m_Dict; UMID LinkedPackageUID; - optional_property IndexSID; + optional_property IndexSID; ui32_t BodySID; EssenceContainerData(const Dictionary*& d); @@ -130,10 +130,10 @@ namespace ASDCP public: const Dictionary*& m_Dict; UMID PackageUID; - optional_property Name; + optional_property Name; Kumu::Timestamp PackageCreationDate; Kumu::Timestamp PackageModifiedDate; - Batch Tracks; + Array Tracks; GenericPackage(const Dictionary*& d); GenericPackage(const GenericPackage& rhs); @@ -154,7 +154,7 @@ namespace ASDCP public: const Dictionary*& m_Dict; - optional_property PackageMarker; + optional_property PackageMarker; MaterialPackage(const Dictionary*& d); MaterialPackage(const MaterialPackage& rhs); @@ -202,8 +202,8 @@ namespace ASDCP const Dictionary*& m_Dict; ui32_t TrackID; ui32_t TrackNumber; - optional_property TrackName; - optional_property Sequence; + optional_property TrackName; + optional_property Sequence; GenericTrack(const Dictionary*& d); GenericTrack(const GenericTrack& rhs); @@ -271,7 +271,7 @@ namespace ASDCP public: const Dictionary*& m_Dict; UL DataDefinition; - optional_property Duration; + optional_property Duration; StructuralComponent(const Dictionary*& d); StructuralComponent(const StructuralComponent& rhs); @@ -292,7 +292,7 @@ namespace ASDCP public: const Dictionary*& m_Dict; - Batch StructuralComponents; + Array StructuralComponents; Sequence(const Dictionary*& d); Sequence(const Sequence& rhs); @@ -365,8 +365,8 @@ namespace ASDCP public: const Dictionary*& m_Dict; - Batch Locators; - Batch SubDescriptors; + Array Locators; + Array SubDescriptors; GenericDescriptor(const Dictionary*& d); GenericDescriptor(const GenericDescriptor& rhs); @@ -387,11 +387,11 @@ namespace ASDCP public: const Dictionary*& m_Dict; - optional_property LinkedTrackID; + optional_property LinkedTrackID; Rational SampleRate; - optional_property ContainerDuration; + optional_property ContainerDuration; UL EssenceContainer; - optional_property
    Codec; + optional_property
      Codec; FileDescriptor(const Dictionary*& d); FileDescriptor(const FileDescriptor& rhs); @@ -416,12 +416,14 @@ namespace ASDCP const Dictionary*& m_Dict; Rational AudioSamplingRate; ui8_t Locked; - optional_property AudioRefLevel; - optional_property ElectroSpatialFormulation; + optional_property AudioRefLevel; + optional_property ElectroSpatialFormulation; ui32_t ChannelCount; ui32_t QuantizationBits; - optional_property DialNorm; + optional_property DialNorm; UL SoundEssenceCoding; + optional_property ReferenceAudioAlignmentLevel; + optional_property ReferenceImageEditRate; GenericSoundEssenceDescriptor(const Dictionary*& d); GenericSoundEssenceDescriptor(const GenericSoundEssenceDescriptor& rhs); @@ -445,9 +447,9 @@ namespace ASDCP public: const Dictionary*& m_Dict; ui16_t BlockAlign; - optional_property SequenceOffset; + optional_property SequenceOffset; ui32_t AvgBps; - optional_property
        ChannelAssignment; + optional_property
          ChannelAssignment; WaveAudioDescriptor(const Dictionary*& d); WaveAudioDescriptor(const WaveAudioDescriptor& rhs); @@ -470,31 +472,41 @@ namespace ASDCP public: const Dictionary*& m_Dict; - optional_property SignalStandard; + optional_property SignalStandard; ui8_t FrameLayout; ui32_t StoredWidth; ui32_t StoredHeight; - optional_property StoredF2Offset; - optional_property SampledWidth; - optional_property SampledHeight; - optional_property SampledXOffset; - optional_property SampledYOffset; - optional_property DisplayHeight; - optional_property DisplayWidth; - optional_property DisplayXOffset; - optional_property DisplayYOffset; - optional_property DisplayF2Offset; + optional_property StoredF2Offset; + optional_property SampledWidth; + optional_property SampledHeight; + optional_property SampledXOffset; + optional_property SampledYOffset; + optional_property DisplayHeight; + optional_property DisplayWidth; + optional_property DisplayXOffset; + optional_property DisplayYOffset; + optional_property DisplayF2Offset; Rational AspectRatio; - optional_property ActiveFormatDescriptor; - optional_property AlphaTransparency; - optional_property
            TransferCharacteristic; - optional_property ImageAlignmentOffset; - optional_property ImageStartOffset; - optional_property ImageEndOffset; - optional_property FieldDominance; + optional_property ActiveFormatDescriptor; + optional_property AlphaTransparency; + optional_property
              TransferCharacteristic; + optional_property ImageAlignmentOffset; + optional_property ImageStartOffset; + optional_property ImageEndOffset; + optional_property FieldDominance; UL PictureEssenceCoding; - optional_property
                CodingEquations; - optional_property
                  ColorPrimaries; + optional_property
                    CodingEquations; + optional_property
                      ColorPrimaries; + optional_property > AlternativeCenterCuts; + optional_property ActiveWidth; + optional_property ActiveHeight; + optional_property ActiveXOffset; + optional_property ActiveYOffset; + optional_property VideoLineMap; + optional_property MasteringDisplayPrimaries; + optional_property MasteringDisplayWhitePointChromaticity; + optional_property MasteringDisplayMaximumLuminance; + optional_property MasteringDisplayMinimumLuminance; GenericPictureEssenceDescriptor(const Dictionary*& d); GenericPictureEssenceDescriptor(const GenericPictureEssenceDescriptor& rhs); @@ -517,11 +529,12 @@ namespace ASDCP public: const Dictionary*& m_Dict; - optional_property ComponentMaxRef; - optional_property ComponentMinRef; - optional_property AlphaMinRef; - optional_property AlphaMaxRef; - optional_property ScanningDirection; + optional_property ComponentMaxRef; + optional_property ComponentMinRef; + optional_property AlphaMinRef; + optional_property AlphaMaxRef; + optional_property ScanningDirection; + RGBALayout PixelLayout; RGBAEssenceDescriptor(const Dictionary*& d); RGBAEssenceDescriptor(const RGBAEssenceDescriptor& rhs); @@ -554,9 +567,13 @@ namespace ASDCP ui32_t XTOsize; ui32_t YTOsize; ui16_t Csize; - optional_property PictureComponentSizing; - optional_property CodingStyleDefault; - optional_property QuantizationDefault; + optional_property PictureComponentSizing; + optional_property CodingStyleDefault; + optional_property QuantizationDefault; + optional_property J2CLayout; + optional_property J2KExtendedCapabilities; + optional_property > J2KProfile; + optional_property J2KCorrespondingProfile; JPEG2000PictureSubDescriptor(const Dictionary*& d); JPEG2000PictureSubDescriptor(const JPEG2000PictureSubDescriptor& rhs); @@ -581,14 +598,14 @@ namespace ASDCP const Dictionary*& m_Dict; ui32_t ComponentDepth; ui32_t HorizontalSubsampling; - optional_property VerticalSubsampling; - optional_property ColorSiting; - optional_property ReversedByteOrder; - optional_property PaddingBits; - optional_property AlphaSampleDepth; - optional_property BlackRefLevel; - optional_property WhiteReflevel; - optional_property ColorRange; + optional_property VerticalSubsampling; + optional_property ColorSiting; + optional_property ReversedByteOrder; + optional_property PaddingBits; + optional_property AlphaSampleDepth; + optional_property BlackRefLevel; + optional_property WhiteReflevel; + optional_property ColorRange; CDCIEssenceDescriptor(const Dictionary*& d); CDCIEssenceDescriptor(const CDCIEssenceDescriptor& rhs); @@ -611,16 +628,16 @@ namespace ASDCP public: const Dictionary*& m_Dict; - optional_property SingleSequence; - optional_property ConstantBFrames; - optional_property CodedContentType; - optional_property LowDelay; - optional_property ClosedGOP; - optional_property IdenticalGOP; - optional_property MaxGOP; - optional_property BPictureCount; - optional_property BitRate; - optional_property ProfileAndLevel; + optional_property SingleSequence; + optional_property ConstantBFrames; + optional_property CodedContentType; + optional_property LowDelay; + optional_property ClosedGOP; + optional_property IdenticalGOP; + optional_property MaxGOP; + optional_property BPictureCount; + optional_property BitRate; + optional_property ProfileAndLevel; MPEG2VideoDescriptor(const Dictionary*& d); MPEG2VideoDescriptor(const MPEG2VideoDescriptor& rhs); @@ -644,9 +661,9 @@ namespace ASDCP public: const Dictionary*& m_Dict; UL DataDefinition; - ui64_t EventStartPosition; - ui64_t Duration; - UTF16String EventComment; + optional_property Duration; + optional_property EventStartPosition; + optional_property EventComment; UUID DMFramework; DMSegment(const Dictionary*& d); @@ -713,6 +730,52 @@ namespace ASDCP virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); }; + // + class DescriptiveFramework : public InterchangeObject + { + DescriptiveFramework(); + + public: + const Dictionary*& m_Dict; + optional_property LinkedDescriptiveFrameworkPlugInId; + + DescriptiveFramework(const Dictionary*& d); + DescriptiveFramework(const DescriptiveFramework& rhs); + virtual ~DescriptiveFramework() {} + + const DescriptiveFramework& operator=(const DescriptiveFramework& rhs) { Copy(rhs); return *this; } + virtual void Copy(const DescriptiveFramework& rhs); + virtual const char* HasName() { return "DescriptiveFramework"; } + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); + virtual Result_t WriteToTLVSet(TLVWriter& TLVSet); + virtual void Dump(FILE* = 0); + virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); + virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); + }; + + // + class DescriptiveObject : public InterchangeObject + { + DescriptiveObject(); + + public: + const Dictionary*& m_Dict; + optional_property LinkedDescriptiveObjectPlugInId; + + DescriptiveObject(const Dictionary*& d); + DescriptiveObject(const DescriptiveObject& rhs); + virtual ~DescriptiveObject() {} + + const DescriptiveObject& operator=(const DescriptiveObject& rhs) { Copy(rhs); return *this; } + virtual void Copy(const DescriptiveObject& rhs); + virtual const char* HasName() { return "DescriptiveObject"; } + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); + virtual Result_t WriteToTLVSet(TLVWriter& TLVSet); + virtual void Dump(FILE* = 0); + virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); + virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); + }; + // class GenericDataEssenceDescriptor : public FileDescriptor { @@ -746,6 +809,7 @@ namespace ASDCP UUID ResourceID; UTF16String UCSEncoding; UTF16String NamespaceURI; + optional_property RFC5646LanguageTagList; TimedTextDescriptor(const Dictionary*& d); TimedTextDescriptor(const TimedTextDescriptor& rhs); @@ -808,6 +872,28 @@ namespace ASDCP virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); }; + // + class ContainerConstraintSubDescriptor : public InterchangeObject + { + ContainerConstraintSubDescriptor(); + + public: + const Dictionary*& m_Dict; + + ContainerConstraintSubDescriptor(const Dictionary*& d); + ContainerConstraintSubDescriptor(const ContainerConstraintSubDescriptor& rhs); + virtual ~ContainerConstraintSubDescriptor() {} + + const ContainerConstraintSubDescriptor& operator=(const ContainerConstraintSubDescriptor& rhs) { Copy(rhs); return *this; } + virtual void Copy(const ContainerConstraintSubDescriptor& rhs); + virtual const char* HasName() { return "ContainerConstraintSubDescriptor"; } + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); + virtual Result_t WriteToTLVSet(TLVWriter& TLVSet); + virtual void Dump(FILE* = 0); + virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); + virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); + }; + // class NetworkLocator : public InterchangeObject { @@ -841,9 +927,17 @@ namespace ASDCP UL MCALabelDictionaryID; UUID MCALinkID; UTF16String MCATagSymbol; - optional_property MCATagName; - optional_property MCAChannelID; - optional_property RFC5646SpokenLanguage; + optional_property MCATagName; + optional_property MCAChannelID; + optional_property RFC5646SpokenLanguage; + optional_property MCATitle; + optional_property MCATitleVersion; + optional_property MCATitleSubVersion; + optional_property MCAEpisode; + optional_property MCAPartitionKind; + optional_property MCAPartitionNumber; + optional_property MCAAudioContentKind; + optional_property MCAAudioElementKind; MCALabelSubDescriptor(const Dictionary*& d); MCALabelSubDescriptor(const MCALabelSubDescriptor& rhs); @@ -866,7 +960,7 @@ namespace ASDCP public: const Dictionary*& m_Dict; - UUID SoundfieldGroupLinkID; + optional_property SoundfieldGroupLinkID; AudioChannelLabelSubDescriptor(const Dictionary*& d); AudioChannelLabelSubDescriptor(const AudioChannelLabelSubDescriptor& rhs); @@ -889,7 +983,7 @@ namespace ASDCP public: const Dictionary*& m_Dict; - Array GroupOfSoundfieldGroupsLinkID; + optional_property > GroupOfSoundfieldGroupsLinkID; SoundfieldGroupLabelSubDescriptor(const Dictionary*& d); SoundfieldGroupLabelSubDescriptor(const SoundfieldGroupLabelSubDescriptor& rhs); @@ -949,6 +1043,28 @@ namespace ASDCP virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); }; + // + class PrivateDCDataDescriptor : public GenericDataEssenceDescriptor + { + PrivateDCDataDescriptor(); + + public: + const Dictionary*& m_Dict; + + PrivateDCDataDescriptor(const Dictionary*& d); + PrivateDCDataDescriptor(const PrivateDCDataDescriptor& rhs); + virtual ~PrivateDCDataDescriptor() {} + + const PrivateDCDataDescriptor& operator=(const PrivateDCDataDescriptor& rhs) { Copy(rhs); return *this; } + virtual void Copy(const PrivateDCDataDescriptor& rhs); + virtual const char* HasName() { return "PrivateDCDataDescriptor"; } + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); + virtual Result_t WriteToTLVSet(TLVWriter& TLVSet); + virtual void Dump(FILE* = 0); + virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); + virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); + }; + // class DolbyAtmosSubDescriptor : public InterchangeObject { @@ -976,6 +1092,208 @@ namespace ASDCP virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); }; + // + class ACESPictureSubDescriptor : public InterchangeObject + { + ACESPictureSubDescriptor(); + + public: + const Dictionary*& m_Dict; + optional_property ACESAuthoringInformation; + optional_property ACESMasteringDisplayPrimaries; + optional_property ACESMasteringDisplayWhitePointChromaticity; + optional_property ACESMasteringDisplayMaximumLuminance; + optional_property ACESMasteringDisplayMinimumLuminance; + + ACESPictureSubDescriptor(const Dictionary*& d); + ACESPictureSubDescriptor(const ACESPictureSubDescriptor& rhs); + virtual ~ACESPictureSubDescriptor() {} + + const ACESPictureSubDescriptor& operator=(const ACESPictureSubDescriptor& rhs) { Copy(rhs); return *this; } + virtual void Copy(const ACESPictureSubDescriptor& rhs); + virtual const char* HasName() { return "ACESPictureSubDescriptor"; } + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); + virtual Result_t WriteToTLVSet(TLVWriter& TLVSet); + virtual void Dump(FILE* = 0); + virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); + virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); + }; + + // + class TargetFrameSubDescriptor : public InterchangeObject + { + TargetFrameSubDescriptor(); + + public: + const Dictionary*& m_Dict; + UUID TargetFrameAncillaryResourceID; + UTF16String MediaType; + ui64_t TargetFrameIndex; + UL TargetFrameTransferCharacteristic; + UL TargetFrameColorPrimaries; + ui32_t TargetFrameComponentMaxRef; + ui32_t TargetFrameComponentMinRef; + ui32_t TargetFrameEssenceStreamID; + optional_property ACESPictureSubDescriptorInstanceID; + optional_property
                        TargetFrameViewingEnvironment; + + TargetFrameSubDescriptor(const Dictionary*& d); + TargetFrameSubDescriptor(const TargetFrameSubDescriptor& rhs); + virtual ~TargetFrameSubDescriptor() {} + + const TargetFrameSubDescriptor& operator=(const TargetFrameSubDescriptor& rhs) { Copy(rhs); return *this; } + virtual void Copy(const TargetFrameSubDescriptor& rhs); + virtual const char* HasName() { return "TargetFrameSubDescriptor"; } + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); + virtual Result_t WriteToTLVSet(TLVWriter& TLVSet); + virtual void Dump(FILE* = 0); + virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); + virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); + }; + + // + class TextBasedDMFramework : public DescriptiveFramework + { + TextBasedDMFramework(); + + public: + const Dictionary*& m_Dict; + optional_property ObjectRef; + + TextBasedDMFramework(const Dictionary*& d); + TextBasedDMFramework(const TextBasedDMFramework& rhs); + virtual ~TextBasedDMFramework() {} + + const TextBasedDMFramework& operator=(const TextBasedDMFramework& rhs) { Copy(rhs); return *this; } + virtual void Copy(const TextBasedDMFramework& rhs); + virtual const char* HasName() { return "TextBasedDMFramework"; } + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); + virtual Result_t WriteToTLVSet(TLVWriter& TLVSet); + virtual void Dump(FILE* = 0); + virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); + virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); + }; + + // + class TextBasedObject : public DescriptiveObject + { + TextBasedObject(); + + public: + const Dictionary*& m_Dict; + UL PayloadSchemeID; + UTF16String TextMIMEMediaType; + UTF16String RFC5646TextLanguageCode; + optional_property TextDataDescription; + + TextBasedObject(const Dictionary*& d); + TextBasedObject(const TextBasedObject& rhs); + virtual ~TextBasedObject() {} + + const TextBasedObject& operator=(const TextBasedObject& rhs) { Copy(rhs); return *this; } + virtual void Copy(const TextBasedObject& rhs); + virtual const char* HasName() { return "TextBasedObject"; } + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); + virtual Result_t WriteToTLVSet(TLVWriter& TLVSet); + virtual void Dump(FILE* = 0); + virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); + virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); + }; + + // + class GenericStreamTextBasedSet : public TextBasedObject + { + GenericStreamTextBasedSet(); + + public: + const Dictionary*& m_Dict; + ui32_t GenericStreamSID; + + GenericStreamTextBasedSet(const Dictionary*& d); + GenericStreamTextBasedSet(const GenericStreamTextBasedSet& rhs); + virtual ~GenericStreamTextBasedSet() {} + + const GenericStreamTextBasedSet& operator=(const GenericStreamTextBasedSet& rhs) { Copy(rhs); return *this; } + virtual void Copy(const GenericStreamTextBasedSet& rhs); + virtual const char* HasName() { return "GenericStreamTextBasedSet"; } + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); + virtual Result_t WriteToTLVSet(TLVWriter& TLVSet); + virtual void Dump(FILE* = 0); + virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); + virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); + }; + + // + class ISXDDataEssenceDescriptor : public GenericDataEssenceDescriptor + { + ISXDDataEssenceDescriptor(); + + public: + const Dictionary*& m_Dict; + ISO8String NamespaceURI; + + ISXDDataEssenceDescriptor(const Dictionary*& d); + ISXDDataEssenceDescriptor(const ISXDDataEssenceDescriptor& rhs); + virtual ~ISXDDataEssenceDescriptor() {} + + const ISXDDataEssenceDescriptor& operator=(const ISXDDataEssenceDescriptor& rhs) { Copy(rhs); return *this; } + virtual void Copy(const ISXDDataEssenceDescriptor& rhs); + virtual const char* HasName() { return "ISXDDataEssenceDescriptor"; } + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); + virtual Result_t WriteToTLVSet(TLVWriter& TLVSet); + virtual void Dump(FILE* = 0); + virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); + virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); + }; + + // + class PHDRMetadataTrackSubDescriptor : public InterchangeObject + { + PHDRMetadataTrackSubDescriptor(); + + public: + const Dictionary*& m_Dict; + UL DataDefinition; + ui32_t SourceTrackID; + ui32_t SimplePayloadSID; + + PHDRMetadataTrackSubDescriptor(const Dictionary*& d); + PHDRMetadataTrackSubDescriptor(const PHDRMetadataTrackSubDescriptor& rhs); + virtual ~PHDRMetadataTrackSubDescriptor() {} + + const PHDRMetadataTrackSubDescriptor& operator=(const PHDRMetadataTrackSubDescriptor& rhs) { Copy(rhs); return *this; } + virtual void Copy(const PHDRMetadataTrackSubDescriptor& rhs); + virtual const char* HasName() { return "PHDRMetadataTrackSubDescriptor"; } + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); + virtual Result_t WriteToTLVSet(TLVWriter& TLVSet); + virtual void Dump(FILE* = 0); + virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); + virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); + }; + + // + class PIMFDynamicMetadataDescriptor : public GenericDataEssenceDescriptor + { + PIMFDynamicMetadataDescriptor(); + + public: + const Dictionary*& m_Dict; + ui32_t GlobalPayloadSID; + + PIMFDynamicMetadataDescriptor(const Dictionary*& d); + PIMFDynamicMetadataDescriptor(const PIMFDynamicMetadataDescriptor& rhs); + virtual ~PIMFDynamicMetadataDescriptor() {} + + const PIMFDynamicMetadataDescriptor& operator=(const PIMFDynamicMetadataDescriptor& rhs) { Copy(rhs); return *this; } + virtual void Copy(const PIMFDynamicMetadataDescriptor& rhs); + virtual const char* HasName() { return "PIMFDynamicMetadataDescriptor"; } + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); + virtual Result_t WriteToTLVSet(TLVWriter& TLVSet); + virtual void Dump(FILE* = 0); + virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); + virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); + }; + } // namespace MXF } // namespace ASDCP