/* Copyright (c) 2005-2017, John Hurst All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /*! \file Metadata.h \version $Id$ \brief MXF metadata objects */ #ifndef _Metadata_H_ #define _Metadata_H_ #include "MXF.h" namespace ASDCP { namespace MXF { void Metadata_InitTypes(const Dictionary*& Dict); // // class Identification : public InterchangeObject { Identification(); public: const Dictionary*& m_Dict; UUID ThisGenerationUID; UTF16String CompanyName; UTF16String ProductName; VersionType ProductVersion; UTF16String VersionString; UUID ProductUID; Kumu::Timestamp ModificationDate; VersionType ToolkitVersion; optional_property Platform; Identification(const Dictionary*& d); Identification(const Identification& rhs); virtual ~Identification() {} const Identification& operator=(const Identification& rhs) { Copy(rhs); return *this; } virtual void Copy(const Identification& rhs); virtual const char* HasName() { return "Identification"; } 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 ContentStorage : public InterchangeObject { ContentStorage(); public: const Dictionary*& m_Dict; Batch Packages; Batch EssenceContainerData; ContentStorage(const Dictionary*& d); ContentStorage(const ContentStorage& rhs); virtual ~ContentStorage() {} const ContentStorage& operator=(const ContentStorage& rhs) { Copy(rhs); return *this; } virtual void Copy(const ContentStorage& rhs); virtual const char* HasName() { return "ContentStorage"; } 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 EssenceContainerData : public InterchangeObject { EssenceContainerData(); public: const Dictionary*& m_Dict; UMID LinkedPackageUID; optional_property IndexSID; ui32_t BodySID; EssenceContainerData(const Dictionary*& d); EssenceContainerData(const EssenceContainerData& rhs); virtual ~EssenceContainerData() {} const EssenceContainerData& operator=(const EssenceContainerData& rhs) { Copy(rhs); return *this; } virtual void Copy(const EssenceContainerData& rhs); virtual const char* HasName() { return "EssenceContainerData"; } 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 GenericPackage : public InterchangeObject { GenericPackage(); public: const Dictionary*& m_Dict; UMID PackageUID; optional_property Name; Kumu::Timestamp PackageCreationDate; Kumu::Timestamp PackageModifiedDate; Array Tracks; GenericPackage(const Dictionary*& d); GenericPackage(const GenericPackage& rhs); virtual ~GenericPackage() {} const GenericPackage& operator=(const GenericPackage& rhs) { Copy(rhs); return *this; } virtual void Copy(const GenericPackage& rhs); virtual const char* HasName() { return "GenericPackage"; } virtual Result_t InitFromTLVSet(TLVReader& TLVSet); virtual Result_t WriteToTLVSet(TLVWriter& TLVSet); virtual void Dump(FILE* = 0); }; // class MaterialPackage : public GenericPackage { MaterialPackage(); public: const Dictionary*& m_Dict; optional_property PackageMarker; MaterialPackage(const Dictionary*& d); MaterialPackage(const MaterialPackage& rhs); virtual ~MaterialPackage() {} const MaterialPackage& operator=(const MaterialPackage& rhs) { Copy(rhs); return *this; } virtual void Copy(const MaterialPackage& rhs); virtual const char* HasName() { return "MaterialPackage"; } 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 SourcePackage : public GenericPackage { SourcePackage(); public: const Dictionary*& m_Dict; UUID Descriptor; SourcePackage(const Dictionary*& d); SourcePackage(const SourcePackage& rhs); virtual ~SourcePackage() {} const SourcePackage& operator=(const SourcePackage& rhs) { Copy(rhs); return *this; } virtual void Copy(const SourcePackage& rhs); virtual const char* HasName() { return "SourcePackage"; } 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 GenericTrack : public InterchangeObject { GenericTrack(); public: const Dictionary*& m_Dict; ui32_t TrackID; ui32_t TrackNumber; optional_property TrackName; optional_property Sequence; GenericTrack(const Dictionary*& d); GenericTrack(const GenericTrack& rhs); virtual ~GenericTrack() {} const GenericTrack& operator=(const GenericTrack& rhs) { Copy(rhs); return *this; } virtual void Copy(const GenericTrack& rhs); virtual const char* HasName() { return "GenericTrack"; } virtual Result_t InitFromTLVSet(TLVReader& TLVSet); virtual Result_t WriteToTLVSet(TLVWriter& TLVSet); virtual void Dump(FILE* = 0); }; // class StaticTrack : public GenericTrack { StaticTrack(); public: const Dictionary*& m_Dict; StaticTrack(const Dictionary*& d); StaticTrack(const StaticTrack& rhs); virtual ~StaticTrack() {} const StaticTrack& operator=(const StaticTrack& rhs) { Copy(rhs); return *this; } virtual void Copy(const StaticTrack& rhs); virtual const char* HasName() { return "StaticTrack"; } 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 Track : public GenericTrack { Track(); public: const Dictionary*& m_Dict; Rational EditRate; ui64_t Origin; Track(const Dictionary*& d); Track(const Track& rhs); virtual ~Track() {} const Track& operator=(const Track& rhs) { Copy(rhs); return *this; } virtual void Copy(const Track& rhs); virtual const char* HasName() { return "Track"; } 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 StructuralComponent : public InterchangeObject { StructuralComponent(); public: const Dictionary*& m_Dict; UL DataDefinition; optional_property Duration; StructuralComponent(const Dictionary*& d); StructuralComponent(const StructuralComponent& rhs); virtual ~StructuralComponent() {} const StructuralComponent& operator=(const StructuralComponent& rhs) { Copy(rhs); return *this; } virtual void Copy(const StructuralComponent& rhs); virtual const char* HasName() { return "StructuralComponent"; } virtual Result_t InitFromTLVSet(TLVReader& TLVSet); virtual Result_t WriteToTLVSet(TLVWriter& TLVSet); virtual void Dump(FILE* = 0); }; // class Sequence : public StructuralComponent { Sequence(); public: const Dictionary*& m_Dict; Array StructuralComponents; Sequence(const Dictionary*& d); Sequence(const Sequence& rhs); virtual ~Sequence() {} const Sequence& operator=(const Sequence& rhs) { Copy(rhs); return *this; } virtual void Copy(const Sequence& rhs); virtual const char* HasName() { return "Sequence"; } 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 SourceClip : public StructuralComponent { SourceClip(); public: const Dictionary*& m_Dict; ui64_t StartPosition; UMID SourcePackageID; ui32_t SourceTrackID; SourceClip(const Dictionary*& d); SourceClip(const SourceClip& rhs); virtual ~SourceClip() {} const SourceClip& operator=(const SourceClip& rhs) { Copy(rhs); return *this; } virtual void Copy(const SourceClip& rhs); virtual const char* HasName() { return "SourceClip"; } 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 TimecodeComponent : public StructuralComponent { TimecodeComponent(); public: const Dictionary*& m_Dict; ui16_t RoundedTimecodeBase; ui64_t StartTimecode; ui8_t DropFrame; TimecodeComponent(const Dictionary*& d); TimecodeComponent(const TimecodeComponent& rhs); virtual ~TimecodeComponent() {} const TimecodeComponent& operator=(const TimecodeComponent& rhs) { Copy(rhs); return *this; } virtual void Copy(const TimecodeComponent& rhs); virtual const char* HasName() { return "TimecodeComponent"; } 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 GenericDescriptor : public InterchangeObject { GenericDescriptor(); public: const Dictionary*& m_Dict; Array Locators; Array SubDescriptors; GenericDescriptor(const Dictionary*& d); GenericDescriptor(const GenericDescriptor& rhs); virtual ~GenericDescriptor() {} const GenericDescriptor& operator=(const GenericDescriptor& rhs) { Copy(rhs); return *this; } virtual void Copy(const GenericDescriptor& rhs); virtual const char* HasName() { return "GenericDescriptor"; } virtual Result_t InitFromTLVSet(TLVReader& TLVSet); virtual Result_t WriteToTLVSet(TLVWriter& TLVSet); virtual void Dump(FILE* = 0); }; // class FileDescriptor : public GenericDescriptor { FileDescriptor(); public: const Dictionary*& m_Dict; optional_property LinkedTrackID; Rational SampleRate; optional_property ContainerDuration; UL EssenceContainer; optional_property
    Codec; FileDescriptor(const Dictionary*& d); FileDescriptor(const FileDescriptor& rhs); virtual ~FileDescriptor() {} const FileDescriptor& operator=(const FileDescriptor& rhs) { Copy(rhs); return *this; } virtual void Copy(const FileDescriptor& rhs); virtual const char* HasName() { return "FileDescriptor"; } 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 GenericSoundEssenceDescriptor : public FileDescriptor { GenericSoundEssenceDescriptor(); public: const Dictionary*& m_Dict; Rational AudioSamplingRate; ui8_t Locked; optional_property AudioRefLevel; optional_property ElectroSpatialFormulation; ui32_t ChannelCount; ui32_t QuantizationBits; optional_property DialNorm; UL SoundEssenceCoding; optional_property ReferenceAudioAlignmentLevel; optional_property ReferenceImageEditRate; GenericSoundEssenceDescriptor(const Dictionary*& d); GenericSoundEssenceDescriptor(const GenericSoundEssenceDescriptor& rhs); virtual ~GenericSoundEssenceDescriptor() {} const GenericSoundEssenceDescriptor& operator=(const GenericSoundEssenceDescriptor& rhs) { Copy(rhs); return *this; } virtual void Copy(const GenericSoundEssenceDescriptor& rhs); virtual const char* HasName() { return "GenericSoundEssenceDescriptor"; } 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 WaveAudioDescriptor : public GenericSoundEssenceDescriptor { WaveAudioDescriptor(); public: const Dictionary*& m_Dict; ui16_t BlockAlign; optional_property SequenceOffset; ui32_t AvgBps; optional_property
      ChannelAssignment; WaveAudioDescriptor(const Dictionary*& d); WaveAudioDescriptor(const WaveAudioDescriptor& rhs); virtual ~WaveAudioDescriptor() {} const WaveAudioDescriptor& operator=(const WaveAudioDescriptor& rhs) { Copy(rhs); return *this; } virtual void Copy(const WaveAudioDescriptor& rhs); virtual const char* HasName() { return "WaveAudioDescriptor"; } 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 GenericPictureEssenceDescriptor : public FileDescriptor { GenericPictureEssenceDescriptor(); public: const Dictionary*& m_Dict; 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; Rational AspectRatio; 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 > 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); virtual ~GenericPictureEssenceDescriptor() {} const GenericPictureEssenceDescriptor& operator=(const GenericPictureEssenceDescriptor& rhs) { Copy(rhs); return *this; } virtual void Copy(const GenericPictureEssenceDescriptor& rhs); virtual const char* HasName() { return "GenericPictureEssenceDescriptor"; } 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 RGBAEssenceDescriptor : public GenericPictureEssenceDescriptor { RGBAEssenceDescriptor(); public: const Dictionary*& m_Dict; 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); virtual ~RGBAEssenceDescriptor() {} const RGBAEssenceDescriptor& operator=(const RGBAEssenceDescriptor& rhs) { Copy(rhs); return *this; } virtual void Copy(const RGBAEssenceDescriptor& rhs); virtual const char* HasName() { return "RGBAEssenceDescriptor"; } 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 JPEG2000PictureSubDescriptor : public InterchangeObject { JPEG2000PictureSubDescriptor(); public: const Dictionary*& m_Dict; ui16_t Rsize; ui32_t Xsize; ui32_t Ysize; ui32_t XOsize; ui32_t YOsize; ui32_t XTsize; ui32_t YTsize; ui32_t XTOsize; ui32_t YTOsize; ui16_t Csize; 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); virtual ~JPEG2000PictureSubDescriptor() {} const JPEG2000PictureSubDescriptor& operator=(const JPEG2000PictureSubDescriptor& rhs) { Copy(rhs); return *this; } virtual void Copy(const JPEG2000PictureSubDescriptor& rhs); virtual const char* HasName() { return "JPEG2000PictureSubDescriptor"; } 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 CDCIEssenceDescriptor : public GenericPictureEssenceDescriptor { CDCIEssenceDescriptor(); public: 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; CDCIEssenceDescriptor(const Dictionary*& d); CDCIEssenceDescriptor(const CDCIEssenceDescriptor& rhs); virtual ~CDCIEssenceDescriptor() {} const CDCIEssenceDescriptor& operator=(const CDCIEssenceDescriptor& rhs) { Copy(rhs); return *this; } virtual void Copy(const CDCIEssenceDescriptor& rhs); virtual const char* HasName() { return "CDCIEssenceDescriptor"; } 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 MPEG2VideoDescriptor : public CDCIEssenceDescriptor { MPEG2VideoDescriptor(); 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; MPEG2VideoDescriptor(const Dictionary*& d); MPEG2VideoDescriptor(const MPEG2VideoDescriptor& rhs); virtual ~MPEG2VideoDescriptor() {} const MPEG2VideoDescriptor& operator=(const MPEG2VideoDescriptor& rhs) { Copy(rhs); return *this; } virtual void Copy(const MPEG2VideoDescriptor& rhs); virtual const char* HasName() { return "MPEG2VideoDescriptor"; } 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 DMSegment : public InterchangeObject { DMSegment(); public: const Dictionary*& m_Dict; UL DataDefinition; optional_property Duration; optional_property EventStartPosition; optional_property EventComment; UUID DMFramework; DMSegment(const Dictionary*& d); DMSegment(const DMSegment& rhs); virtual ~DMSegment() {} const DMSegment& operator=(const DMSegment& rhs) { Copy(rhs); return *this; } virtual void Copy(const DMSegment& rhs); virtual const char* HasName() { return "DMSegment"; } 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 CryptographicFramework : public InterchangeObject { CryptographicFramework(); public: const Dictionary*& m_Dict; UUID ContextSR; CryptographicFramework(const Dictionary*& d); CryptographicFramework(const CryptographicFramework& rhs); virtual ~CryptographicFramework() {} const CryptographicFramework& operator=(const CryptographicFramework& rhs) { Copy(rhs); return *this; } virtual void Copy(const CryptographicFramework& rhs); virtual const char* HasName() { return "CryptographicFramework"; } 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 CryptographicContext : public InterchangeObject { CryptographicContext(); public: const Dictionary*& m_Dict; UUID ContextID; UL SourceEssenceContainer; UL CipherAlgorithm; UL MICAlgorithm; UUID CryptographicKeyID; CryptographicContext(const Dictionary*& d); CryptographicContext(const CryptographicContext& rhs); virtual ~CryptographicContext() {} const CryptographicContext& operator=(const CryptographicContext& rhs) { Copy(rhs); return *this; } virtual void Copy(const CryptographicContext& rhs); virtual const char* HasName() { return "CryptographicContext"; } 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 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 { GenericDataEssenceDescriptor(); public: const Dictionary*& m_Dict; UL DataEssenceCoding; GenericDataEssenceDescriptor(const Dictionary*& d); GenericDataEssenceDescriptor(const GenericDataEssenceDescriptor& rhs); virtual ~GenericDataEssenceDescriptor() {} const GenericDataEssenceDescriptor& operator=(const GenericDataEssenceDescriptor& rhs) { Copy(rhs); return *this; } virtual void Copy(const GenericDataEssenceDescriptor& rhs); virtual const char* HasName() { return "GenericDataEssenceDescriptor"; } 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 TimedTextDescriptor : public GenericDataEssenceDescriptor { TimedTextDescriptor(); public: const Dictionary*& m_Dict; UUID ResourceID; UTF16String UCSEncoding; UTF16String NamespaceURI; optional_property RFC5646LanguageTagList; optional_property DisplayType; optional_property IntrinsicPictureResolution; optional_property ZPositionInUse; TimedTextDescriptor(const Dictionary*& d); TimedTextDescriptor(const TimedTextDescriptor& rhs); virtual ~TimedTextDescriptor() {} const TimedTextDescriptor& operator=(const TimedTextDescriptor& rhs) { Copy(rhs); return *this; } virtual void Copy(const TimedTextDescriptor& rhs); virtual const char* HasName() { return "TimedTextDescriptor"; } 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 TimedTextResourceSubDescriptor : public InterchangeObject { TimedTextResourceSubDescriptor(); public: const Dictionary*& m_Dict; UUID AncillaryResourceID; UTF16String MIMEMediaType; ui32_t EssenceStreamID; TimedTextResourceSubDescriptor(const Dictionary*& d); TimedTextResourceSubDescriptor(const TimedTextResourceSubDescriptor& rhs); virtual ~TimedTextResourceSubDescriptor() {} const TimedTextResourceSubDescriptor& operator=(const TimedTextResourceSubDescriptor& rhs) { Copy(rhs); return *this; } virtual void Copy(const TimedTextResourceSubDescriptor& rhs); virtual const char* HasName() { return "TimedTextResourceSubDescriptor"; } 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 StereoscopicPictureSubDescriptor : public InterchangeObject { StereoscopicPictureSubDescriptor(); public: const Dictionary*& m_Dict; StereoscopicPictureSubDescriptor(const Dictionary*& d); StereoscopicPictureSubDescriptor(const StereoscopicPictureSubDescriptor& rhs); virtual ~StereoscopicPictureSubDescriptor() {} const StereoscopicPictureSubDescriptor& operator=(const StereoscopicPictureSubDescriptor& rhs) { Copy(rhs); return *this; } virtual void Copy(const StereoscopicPictureSubDescriptor& rhs); virtual const char* HasName() { return "StereoscopicPictureSubDescriptor"; } 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 ContainerConstraintsSubDescriptor : public InterchangeObject { ContainerConstraintsSubDescriptor(); public: const Dictionary*& m_Dict; ContainerConstraintsSubDescriptor(const Dictionary*& d); ContainerConstraintsSubDescriptor(const ContainerConstraintsSubDescriptor& rhs); virtual ~ContainerConstraintsSubDescriptor() {} const ContainerConstraintsSubDescriptor& operator=(const ContainerConstraintsSubDescriptor& rhs) { Copy(rhs); return *this; } virtual void Copy(const ContainerConstraintsSubDescriptor& rhs); virtual const char* HasName() { return "ContainerConstraintsSubDescriptor"; } 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 { NetworkLocator(); public: const Dictionary*& m_Dict; UTF16String URLString; NetworkLocator(const Dictionary*& d); NetworkLocator(const NetworkLocator& rhs); virtual ~NetworkLocator() {} const NetworkLocator& operator=(const NetworkLocator& rhs) { Copy(rhs); return *this; } virtual void Copy(const NetworkLocator& rhs); virtual const char* HasName() { return "NetworkLocator"; } 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 MCALabelSubDescriptor : public InterchangeObject { MCALabelSubDescriptor(); public: const Dictionary*& m_Dict; UL MCALabelDictionaryID; UUID MCALinkID; UTF16String MCATagSymbol; 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); virtual ~MCALabelSubDescriptor() {} const MCALabelSubDescriptor& operator=(const MCALabelSubDescriptor& rhs) { Copy(rhs); return *this; } virtual void Copy(const MCALabelSubDescriptor& rhs); virtual const char* HasName() { return "MCALabelSubDescriptor"; } 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 AudioChannelLabelSubDescriptor : public MCALabelSubDescriptor { AudioChannelLabelSubDescriptor(); public: const Dictionary*& m_Dict; optional_property SoundfieldGroupLinkID; AudioChannelLabelSubDescriptor(const Dictionary*& d); AudioChannelLabelSubDescriptor(const AudioChannelLabelSubDescriptor& rhs); virtual ~AudioChannelLabelSubDescriptor() {} const AudioChannelLabelSubDescriptor& operator=(const AudioChannelLabelSubDescriptor& rhs) { Copy(rhs); return *this; } virtual void Copy(const AudioChannelLabelSubDescriptor& rhs); virtual const char* HasName() { return "AudioChannelLabelSubDescriptor"; } 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 SoundfieldGroupLabelSubDescriptor : public MCALabelSubDescriptor { SoundfieldGroupLabelSubDescriptor(); public: const Dictionary*& m_Dict; optional_property > GroupOfSoundfieldGroupsLinkID; SoundfieldGroupLabelSubDescriptor(const Dictionary*& d); SoundfieldGroupLabelSubDescriptor(const SoundfieldGroupLabelSubDescriptor& rhs); virtual ~SoundfieldGroupLabelSubDescriptor() {} const SoundfieldGroupLabelSubDescriptor& operator=(const SoundfieldGroupLabelSubDescriptor& rhs) { Copy(rhs); return *this; } virtual void Copy(const SoundfieldGroupLabelSubDescriptor& rhs); virtual const char* HasName() { return "SoundfieldGroupLabelSubDescriptor"; } 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 GroupOfSoundfieldGroupsLabelSubDescriptor : public MCALabelSubDescriptor { GroupOfSoundfieldGroupsLabelSubDescriptor(); public: const Dictionary*& m_Dict; GroupOfSoundfieldGroupsLabelSubDescriptor(const Dictionary*& d); GroupOfSoundfieldGroupsLabelSubDescriptor(const GroupOfSoundfieldGroupsLabelSubDescriptor& rhs); virtual ~GroupOfSoundfieldGroupsLabelSubDescriptor() {} const GroupOfSoundfieldGroupsLabelSubDescriptor& operator=(const GroupOfSoundfieldGroupsLabelSubDescriptor& rhs) { Copy(rhs); return *this; } virtual void Copy(const GroupOfSoundfieldGroupsLabelSubDescriptor& rhs); virtual const char* HasName() { return "GroupOfSoundfieldGroupsLabelSubDescriptor"; } 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 DCDataDescriptor : public GenericDataEssenceDescriptor { DCDataDescriptor(); public: const Dictionary*& m_Dict; DCDataDescriptor(const Dictionary*& d); DCDataDescriptor(const DCDataDescriptor& rhs); virtual ~DCDataDescriptor() {} const DCDataDescriptor& operator=(const DCDataDescriptor& rhs) { Copy(rhs); return *this; } virtual void Copy(const DCDataDescriptor& rhs); virtual const char* HasName() { return "DCDataDescriptor"; } 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 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 { DolbyAtmosSubDescriptor(); public: const Dictionary*& m_Dict; UUID AtmosID; ui32_t FirstFrame; ui16_t MaxChannelCount; ui16_t MaxObjectCount; ui8_t AtmosVersion; DolbyAtmosSubDescriptor(const Dictionary*& d); DolbyAtmosSubDescriptor(const DolbyAtmosSubDescriptor& rhs); virtual ~DolbyAtmosSubDescriptor() {} const DolbyAtmosSubDescriptor& operator=(const DolbyAtmosSubDescriptor& rhs) { Copy(rhs); return *this; } virtual void Copy(const DolbyAtmosSubDescriptor& rhs); virtual const char* HasName() { return "DolbyAtmosSubDescriptor"; } 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 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 #endif // _Metadata_H_ // // end Metadata.h //