X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2FMetadata.cpp;h=838fc53c5008be5d6b935904b09e2476a773fa66;hb=830570c46c4d39a8a5767f83875e3ef2f79ecc98;hp=d4cc819b225893e5624ca50cf8444ab20a7dc9f4;hpb=30d642bd3b8474744dfbdcc2bdc46cdf827102c4;p=asdcplib.git diff --git a/src/Metadata.cpp b/src/Metadata.cpp index d4cc819..838fc53 100755 --- a/src/Metadata.cpp +++ b/src/Metadata.cpp @@ -1,5 +1,5 @@ /* -Copyright (c) 2005-2006, John Hurst +Copyright (c) 2005-2007, John Hurst All rights reserved. Redistribution and use in source and binary forms, with or without @@ -30,143 +30,79 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include #include "Metadata.h" -#include "Mutex.h" -#include "hex_utils.h" + +using namespace ASDCP; +using namespace ASDCP::MXF; const ui32_t kl_length = ASDCP::SMPTE_UL_LENGTH + ASDCP::MXF_BER_LENGTH; //------------------------------------------------------------------------------------------ -// -enum FLT_t - { - FLT_Preface, - FLT_IndexTableSegment, - FLT_Identification, - FLT_ContentStorage, - FLT_EssenceContainerData, - FLT_MaterialPackage, - FLT_SourcePackage, - FLT_StaticTrack, - FLT_Track, - FLT_Sequence, - FLT_SourceClip, - FLT_TimecodeComponent, - FLT_FileDescriptor, - FLT_GenericSoundEssenceDescriptor, - FLT_WaveAudioDescriptor, - FLT_GenericPictureEssenceDescriptor, - FLT_RGBAEssenceDescriptor, - FLT_JPEG2000PictureSubDescriptor, - FLT_CDCIEssenceDescriptor, - FLT_MPEG2VideoDescriptor, - FLT_DMSegment, - FLT_CryptographicFramework, - FLT_CryptographicContext, - }; - -// -typedef std::map::iterator FLi_t; - -class FactoryList : public std::map -{ - ASDCP::Mutex m_Lock; - -public: - FactoryList() {} - ~FactoryList() {} - - bool Empty() { - ASDCP::AutoMutex BlockLock(m_Lock); - return empty(); - } - - FLi_t Find(const byte_t* label) { - ASDCP::AutoMutex BlockLock(m_Lock); - return find(label); - } - - FLi_t End() { - ASDCP::AutoMutex BlockLock(m_Lock); - return end(); - } - -}; - -// -static FactoryList s_FactoryList; - -// -ASDCP::MXF::InterchangeObject* -ASDCP::MXF::CreateObject(const byte_t* label) -{ - if ( label == 0 ) - return 0; - - if ( s_FactoryList.empty() ) - { - s_FactoryList.insert(FactoryList::value_type(Dict::ul(MDD_Preface), FLT_Preface)); - s_FactoryList.insert(FactoryList::value_type(Dict::ul(MDD_IndexTableSegment), FLT_IndexTableSegment)); - s_FactoryList.insert(FactoryList::value_type(Dict::ul(MDD_Identification), FLT_Identification)); - s_FactoryList.insert(FactoryList::value_type(Dict::ul(MDD_ContentStorage), FLT_ContentStorage)); - s_FactoryList.insert(FactoryList::value_type(Dict::ul(MDD_EssenceContainerData), FLT_EssenceContainerData)); - s_FactoryList.insert(FactoryList::value_type(Dict::ul(MDD_MaterialPackage), FLT_MaterialPackage)); - s_FactoryList.insert(FactoryList::value_type(Dict::ul(MDD_SourcePackage), FLT_SourcePackage)); - s_FactoryList.insert(FactoryList::value_type(Dict::ul(MDD_StaticTrack), FLT_StaticTrack)); - s_FactoryList.insert(FactoryList::value_type(Dict::ul(MDD_Track), FLT_Track)); - s_FactoryList.insert(FactoryList::value_type(Dict::ul(MDD_Sequence), FLT_Sequence)); - s_FactoryList.insert(FactoryList::value_type(Dict::ul(MDD_SourceClip), FLT_SourceClip)); - s_FactoryList.insert(FactoryList::value_type(Dict::ul(MDD_TimecodeComponent), FLT_TimecodeComponent)); - s_FactoryList.insert(FactoryList::value_type(Dict::ul(MDD_FileDescriptor), FLT_FileDescriptor)); - s_FactoryList.insert(FactoryList::value_type(Dict::ul(MDD_GenericSoundEssenceDescriptor), FLT_GenericSoundEssenceDescriptor)); - s_FactoryList.insert(FactoryList::value_type(Dict::ul(MDD_WaveAudioDescriptor), FLT_WaveAudioDescriptor)); - s_FactoryList.insert(FactoryList::value_type(Dict::ul(MDD_GenericPictureEssenceDescriptor), FLT_GenericPictureEssenceDescriptor)); - s_FactoryList.insert(FactoryList::value_type(Dict::ul(MDD_RGBAEssenceDescriptor), FLT_RGBAEssenceDescriptor)); - s_FactoryList.insert(FactoryList::value_type(Dict::ul(MDD_JPEG2000PictureSubDescriptor), FLT_JPEG2000PictureSubDescriptor)); - s_FactoryList.insert(FactoryList::value_type(Dict::ul(MDD_CDCIEssenceDescriptor), FLT_CDCIEssenceDescriptor)); - s_FactoryList.insert(FactoryList::value_type(Dict::ul(MDD_MPEG2VideoDescriptor), FLT_MPEG2VideoDescriptor)); - s_FactoryList.insert(FactoryList::value_type(Dict::ul(MDD_DMSegment), FLT_DMSegment)); - s_FactoryList.insert(FactoryList::value_type(Dict::ul(MDD_CryptographicFramework), FLT_CryptographicFramework)); - s_FactoryList.insert(FactoryList::value_type(Dict::ul(MDD_CryptographicContext), FLT_CryptographicContext)); - } - - FLi_t i = s_FactoryList.find(label); - - if ( i == s_FactoryList.end() ) - return new InterchangeObject; - - switch ( i->second ) - { - case FLT_Preface: return new Preface; - case FLT_IndexTableSegment: return new IndexTableSegment; - case FLT_Identification: return new Identification; - case FLT_ContentStorage: return new ContentStorage; - case FLT_EssenceContainerData: return new EssenceContainerData; - case FLT_MaterialPackage: return new MaterialPackage; - case FLT_SourcePackage: return new SourcePackage; - case FLT_StaticTrack: return new StaticTrack; - case FLT_Track: return new Track; - case FLT_Sequence: return new Sequence; - case FLT_SourceClip: return new SourceClip; - case FLT_TimecodeComponent: return new TimecodeComponent; - case FLT_FileDescriptor: return new FileDescriptor; - case FLT_GenericSoundEssenceDescriptor: return new GenericSoundEssenceDescriptor; - case FLT_WaveAudioDescriptor: return new WaveAudioDescriptor; - case FLT_GenericPictureEssenceDescriptor: return new GenericPictureEssenceDescriptor; - case FLT_RGBAEssenceDescriptor: return new RGBAEssenceDescriptor; - case FLT_JPEG2000PictureSubDescriptor: return new JPEG2000PictureSubDescriptor; - case FLT_CDCIEssenceDescriptor: return new CDCIEssenceDescriptor; - case FLT_MPEG2VideoDescriptor: return new MPEG2VideoDescriptor; - case FLT_DMSegment: return new DMSegment; - case FLT_CryptographicFramework: return new CryptographicFramework; - case FLT_CryptographicContext: return new CryptographicContext; - } - - return 0; -} +static InterchangeObject* Preface_Factory() { return new Preface; } +static InterchangeObject* IndexTableSegment_Factory() { return new IndexTableSegment; } + +static InterchangeObject* Identification_Factory() { return new Identification; } +static InterchangeObject* ContentStorage_Factory() { return new ContentStorage; } +static InterchangeObject* EssenceContainerData_Factory() { return new EssenceContainerData; } +static InterchangeObject* MaterialPackage_Factory() { return new MaterialPackage; } +static InterchangeObject* SourcePackage_Factory() { return new SourcePackage; } +static InterchangeObject* StaticTrack_Factory() { return new StaticTrack; } +static InterchangeObject* Track_Factory() { return new Track; } +static InterchangeObject* Sequence_Factory() { return new Sequence; } +static InterchangeObject* SourceClip_Factory() { return new SourceClip; } +static InterchangeObject* TimecodeComponent_Factory() { return new TimecodeComponent; } +static InterchangeObject* FileDescriptor_Factory() { return new FileDescriptor; } +static InterchangeObject* GenericSoundEssenceDescriptor_Factory() { return new GenericSoundEssenceDescriptor; } +static InterchangeObject* WaveAudioDescriptor_Factory() { return new WaveAudioDescriptor; } +static InterchangeObject* GenericPictureEssenceDescriptor_Factory() { return new GenericPictureEssenceDescriptor; } +static InterchangeObject* RGBAEssenceDescriptor_Factory() { return new RGBAEssenceDescriptor; } +static InterchangeObject* JPEG2000PictureSubDescriptor_Factory() { return new JPEG2000PictureSubDescriptor; } +static InterchangeObject* CDCIEssenceDescriptor_Factory() { return new CDCIEssenceDescriptor; } +static InterchangeObject* MPEG2VideoDescriptor_Factory() { return new MPEG2VideoDescriptor; } +static InterchangeObject* DMSegment_Factory() { return new DMSegment; } +static InterchangeObject* CryptographicFramework_Factory() { return new CryptographicFramework; } +static InterchangeObject* CryptographicContext_Factory() { return new CryptographicContext; } +static InterchangeObject* GenericDataEssenceDescriptor_Factory() { return new GenericDataEssenceDescriptor; } +static InterchangeObject* TimedTextDescriptor_Factory() { return new TimedTextDescriptor; } +static InterchangeObject* TimedTextResourceSubDescriptor_Factory() { return new TimedTextResourceSubDescriptor; } +static InterchangeObject* StereoscopicPictureSubDescriptor_Factory() { return new StereoscopicPictureSubDescriptor; } +void +ASDCP::MXF::Metadata_InitTypes() +{ + SetObjectFactory(Dict::ul(MDD_Preface), Preface_Factory); + SetObjectFactory(Dict::ul(MDD_IndexTableSegment), IndexTableSegment_Factory); + + SetObjectFactory(Dict::ul(MDD_Identification), Identification_Factory); + SetObjectFactory(Dict::ul(MDD_ContentStorage), ContentStorage_Factory); + SetObjectFactory(Dict::ul(MDD_EssenceContainerData), EssenceContainerData_Factory); + SetObjectFactory(Dict::ul(MDD_MaterialPackage), MaterialPackage_Factory); + SetObjectFactory(Dict::ul(MDD_SourcePackage), SourcePackage_Factory); + SetObjectFactory(Dict::ul(MDD_StaticTrack), StaticTrack_Factory); + SetObjectFactory(Dict::ul(MDD_Track), Track_Factory); + SetObjectFactory(Dict::ul(MDD_Sequence), Sequence_Factory); + SetObjectFactory(Dict::ul(MDD_SourceClip), SourceClip_Factory); + SetObjectFactory(Dict::ul(MDD_TimecodeComponent), TimecodeComponent_Factory); + SetObjectFactory(Dict::ul(MDD_FileDescriptor), FileDescriptor_Factory); + SetObjectFactory(Dict::ul(MDD_GenericSoundEssenceDescriptor), GenericSoundEssenceDescriptor_Factory); + SetObjectFactory(Dict::ul(MDD_WaveAudioDescriptor), WaveAudioDescriptor_Factory); + SetObjectFactory(Dict::ul(MDD_GenericPictureEssenceDescriptor), GenericPictureEssenceDescriptor_Factory); + SetObjectFactory(Dict::ul(MDD_RGBAEssenceDescriptor), RGBAEssenceDescriptor_Factory); + SetObjectFactory(Dict::ul(MDD_JPEG2000PictureSubDescriptor), JPEG2000PictureSubDescriptor_Factory); + SetObjectFactory(Dict::ul(MDD_CDCIEssenceDescriptor), CDCIEssenceDescriptor_Factory); + SetObjectFactory(Dict::ul(MDD_MPEG2VideoDescriptor), MPEG2VideoDescriptor_Factory); + SetObjectFactory(Dict::ul(MDD_DMSegment), DMSegment_Factory); + SetObjectFactory(Dict::ul(MDD_CryptographicFramework), CryptographicFramework_Factory); + SetObjectFactory(Dict::ul(MDD_CryptographicContext), CryptographicContext_Factory); + SetObjectFactory(Dict::ul(MDD_GenericDataEssenceDescriptor), GenericDataEssenceDescriptor_Factory); + SetObjectFactory(Dict::ul(MDD_TimedTextDescriptor), TimedTextDescriptor_Factory); + SetObjectFactory(Dict::ul(MDD_TimedTextResourceSubDescriptor), TimedTextResourceSubDescriptor_Factory); + SetObjectFactory(Dict::ul(MDD_StereoscopicPictureSubDescriptor), StereoscopicPictureSubDescriptor_Factory); +} + //------------------------------------------------------------------------------------------ // KLV Sets @@ -177,7 +113,7 @@ ASDCP::MXF::CreateObject(const byte_t* label) // ASDCP::Result_t -ASDCP::MXF::Identification::InitFromTLVSet(TLVReader& TLVSet) +Identification::InitFromTLVSet(TLVReader& TLVSet) { Result_t result = InterchangeObject::InitFromTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(Identification, ThisGenerationUID)); @@ -194,7 +130,7 @@ ASDCP::MXF::Identification::InitFromTLVSet(TLVReader& TLVSet) // ASDCP::Result_t -ASDCP::MXF::Identification::WriteToTLVSet(TLVWriter& TLVSet) +Identification::WriteToTLVSet(TLVWriter& TLVSet) { Result_t result = InterchangeObject::WriteToTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(Identification, ThisGenerationUID)); @@ -211,7 +147,7 @@ ASDCP::MXF::Identification::WriteToTLVSet(TLVWriter& TLVSet) // void -ASDCP::MXF::Identification::Dump(FILE* stream) +Identification::Dump(FILE* stream) { char identbuf[IdentBufferLen]; *identbuf = 0; @@ -220,20 +156,20 @@ ASDCP::MXF::Identification::Dump(FILE* stream) stream = stderr; InterchangeObject::Dump(stream); - fprintf(stream, " %22s = %s\n", "ThisGenerationUID", ThisGenerationUID.ToString(identbuf)); - fprintf(stream, " %22s = %s\n", "CompanyName", CompanyName.ToString(identbuf)); - fprintf(stream, " %22s = %s\n", "ProductName", ProductName.ToString(identbuf)); - fprintf(stream, " %22s = %s\n", "ProductVersion", ProductVersion.ToString(identbuf)); - fprintf(stream, " %22s = %s\n", "VersionString", VersionString.ToString(identbuf)); - fprintf(stream, " %22s = %s\n", "ProductUID", ProductUID.ToString(identbuf)); - fprintf(stream, " %22s = %s\n", "ModificationDate", ModificationDate.ToString(identbuf)); - fprintf(stream, " %22s = %s\n", "ToolkitVersion", ToolkitVersion.ToString(identbuf)); - fprintf(stream, " %22s = %s\n", "Platform", Platform.ToString(identbuf)); + fprintf(stream, " %22s = %s\n", "ThisGenerationUID", ThisGenerationUID.EncodeString(identbuf, IdentBufferLen)); + fprintf(stream, " %22s = %s\n", "CompanyName", CompanyName.EncodeString(identbuf, IdentBufferLen)); + fprintf(stream, " %22s = %s\n", "ProductName", ProductName.EncodeString(identbuf, IdentBufferLen)); + fprintf(stream, " %22s = %s\n", "ProductVersion", ProductVersion.EncodeString(identbuf, IdentBufferLen)); + fprintf(stream, " %22s = %s\n", "VersionString", VersionString.EncodeString(identbuf, IdentBufferLen)); + fprintf(stream, " %22s = %s\n", "ProductUID", ProductUID.EncodeString(identbuf, IdentBufferLen)); + fprintf(stream, " %22s = %s\n", "ModificationDate", ModificationDate.EncodeString(identbuf, IdentBufferLen)); + fprintf(stream, " %22s = %s\n", "ToolkitVersion", ToolkitVersion.EncodeString(identbuf, IdentBufferLen)); + fprintf(stream, " %22s = %s\n", "Platform", Platform.EncodeString(identbuf, IdentBufferLen)); } // ASDCP::Result_t -ASDCP::MXF::Identification::InitFromBuffer(const byte_t* p, ui32_t l) +Identification::InitFromBuffer(const byte_t* p, ui32_t l) { m_Typeinfo = &Dict::Type(MDD_Identification); return InterchangeObject::InitFromBuffer(p, l); @@ -241,7 +177,7 @@ ASDCP::MXF::Identification::InitFromBuffer(const byte_t* p, ui32_t l) // ASDCP::Result_t -ASDCP::MXF::Identification::WriteToBuffer(ASDCP::FrameBuffer& Buffer) +Identification::WriteToBuffer(ASDCP::FrameBuffer& Buffer) { m_Typeinfo = &Dict::Type(MDD_Identification); return InterchangeObject::WriteToBuffer(Buffer); @@ -252,7 +188,7 @@ ASDCP::MXF::Identification::WriteToBuffer(ASDCP::FrameBuffer& Buffer) // ASDCP::Result_t -ASDCP::MXF::ContentStorage::InitFromTLVSet(TLVReader& TLVSet) +ContentStorage::InitFromTLVSet(TLVReader& TLVSet) { Result_t result = InterchangeObject::InitFromTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(ContentStorage, Packages)); @@ -262,7 +198,7 @@ ASDCP::MXF::ContentStorage::InitFromTLVSet(TLVReader& TLVSet) // ASDCP::Result_t -ASDCP::MXF::ContentStorage::WriteToTLVSet(TLVWriter& TLVSet) +ContentStorage::WriteToTLVSet(TLVWriter& TLVSet) { Result_t result = InterchangeObject::WriteToTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(ContentStorage, Packages)); @@ -272,7 +208,7 @@ ASDCP::MXF::ContentStorage::WriteToTLVSet(TLVWriter& TLVSet) // void -ASDCP::MXF::ContentStorage::Dump(FILE* stream) +ContentStorage::Dump(FILE* stream) { char identbuf[IdentBufferLen]; *identbuf = 0; @@ -289,7 +225,7 @@ ASDCP::MXF::ContentStorage::Dump(FILE* stream) // ASDCP::Result_t -ASDCP::MXF::ContentStorage::InitFromBuffer(const byte_t* p, ui32_t l) +ContentStorage::InitFromBuffer(const byte_t* p, ui32_t l) { m_Typeinfo = &Dict::Type(MDD_ContentStorage); return InterchangeObject::InitFromBuffer(p, l); @@ -297,7 +233,7 @@ ASDCP::MXF::ContentStorage::InitFromBuffer(const byte_t* p, ui32_t l) // ASDCP::Result_t -ASDCP::MXF::ContentStorage::WriteToBuffer(ASDCP::FrameBuffer& Buffer) +ContentStorage::WriteToBuffer(ASDCP::FrameBuffer& Buffer) { m_Typeinfo = &Dict::Type(MDD_ContentStorage); return InterchangeObject::WriteToBuffer(Buffer); @@ -308,7 +244,7 @@ ASDCP::MXF::ContentStorage::WriteToBuffer(ASDCP::FrameBuffer& Buffer) // ASDCP::Result_t -ASDCP::MXF::EssenceContainerData::InitFromTLVSet(TLVReader& TLVSet) +EssenceContainerData::InitFromTLVSet(TLVReader& TLVSet) { Result_t result = InterchangeObject::InitFromTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(EssenceContainerData, LinkedPackageUID)); @@ -319,7 +255,7 @@ ASDCP::MXF::EssenceContainerData::InitFromTLVSet(TLVReader& TLVSet) // ASDCP::Result_t -ASDCP::MXF::EssenceContainerData::WriteToTLVSet(TLVWriter& TLVSet) +EssenceContainerData::WriteToTLVSet(TLVWriter& TLVSet) { Result_t result = InterchangeObject::WriteToTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(EssenceContainerData, LinkedPackageUID)); @@ -330,7 +266,7 @@ ASDCP::MXF::EssenceContainerData::WriteToTLVSet(TLVWriter& TLVSet) // void -ASDCP::MXF::EssenceContainerData::Dump(FILE* stream) +EssenceContainerData::Dump(FILE* stream) { char identbuf[IdentBufferLen]; *identbuf = 0; @@ -339,14 +275,14 @@ ASDCP::MXF::EssenceContainerData::Dump(FILE* stream) stream = stderr; InterchangeObject::Dump(stream); - fprintf(stream, " %22s = %s\n", "LinkedPackageUID", LinkedPackageUID.ToString(identbuf)); + fprintf(stream, " %22s = %s\n", "LinkedPackageUID", LinkedPackageUID.EncodeString(identbuf, IdentBufferLen)); fprintf(stream, " %22s = %d\n", "IndexSID", IndexSID); fprintf(stream, " %22s = %d\n", "BodySID", BodySID); } // ASDCP::Result_t -ASDCP::MXF::EssenceContainerData::InitFromBuffer(const byte_t* p, ui32_t l) +EssenceContainerData::InitFromBuffer(const byte_t* p, ui32_t l) { m_Typeinfo = &Dict::Type(MDD_EssenceContainerData); return InterchangeObject::InitFromBuffer(p, l); @@ -354,7 +290,7 @@ ASDCP::MXF::EssenceContainerData::InitFromBuffer(const byte_t* p, ui32_t l) // ASDCP::Result_t -ASDCP::MXF::EssenceContainerData::WriteToBuffer(ASDCP::FrameBuffer& Buffer) +EssenceContainerData::WriteToBuffer(ASDCP::FrameBuffer& Buffer) { m_Typeinfo = &Dict::Type(MDD_EssenceContainerData); return InterchangeObject::WriteToBuffer(Buffer); @@ -365,7 +301,7 @@ ASDCP::MXF::EssenceContainerData::WriteToBuffer(ASDCP::FrameBuffer& Buffer) // ASDCP::Result_t -ASDCP::MXF::GenericPackage::InitFromTLVSet(TLVReader& TLVSet) +GenericPackage::InitFromTLVSet(TLVReader& TLVSet) { Result_t result = InterchangeObject::InitFromTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(GenericPackage, PackageUID)); @@ -378,7 +314,7 @@ ASDCP::MXF::GenericPackage::InitFromTLVSet(TLVReader& TLVSet) // ASDCP::Result_t -ASDCP::MXF::GenericPackage::WriteToTLVSet(TLVWriter& TLVSet) +GenericPackage::WriteToTLVSet(TLVWriter& TLVSet) { Result_t result = InterchangeObject::WriteToTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(GenericPackage, PackageUID)); @@ -391,7 +327,7 @@ ASDCP::MXF::GenericPackage::WriteToTLVSet(TLVWriter& TLVSet) // void -ASDCP::MXF::GenericPackage::Dump(FILE* stream) +GenericPackage::Dump(FILE* stream) { char identbuf[IdentBufferLen]; *identbuf = 0; @@ -400,10 +336,10 @@ ASDCP::MXF::GenericPackage::Dump(FILE* stream) stream = stderr; InterchangeObject::Dump(stream); - fprintf(stream, " %22s = %s\n", "PackageUID", PackageUID.ToString(identbuf)); - fprintf(stream, " %22s = %s\n", "Name", Name.ToString(identbuf)); - fprintf(stream, " %22s = %s\n", "PackageCreationDate", PackageCreationDate.ToString(identbuf)); - fprintf(stream, " %22s = %s\n", "PackageModifiedDate", PackageModifiedDate.ToString(identbuf)); + fprintf(stream, " %22s = %s\n", "PackageUID", PackageUID.EncodeString(identbuf, IdentBufferLen)); + fprintf(stream, " %22s = %s\n", "Name", Name.EncodeString(identbuf, IdentBufferLen)); + fprintf(stream, " %22s = %s\n", "PackageCreationDate", PackageCreationDate.EncodeString(identbuf, IdentBufferLen)); + fprintf(stream, " %22s = %s\n", "PackageModifiedDate", PackageModifiedDate.EncodeString(identbuf, IdentBufferLen)); fprintf(stream, " %22s:\n", "Tracks"); Tracks.Dump(stream); } @@ -414,7 +350,7 @@ ASDCP::MXF::GenericPackage::Dump(FILE* stream) // ASDCP::Result_t -ASDCP::MXF::MaterialPackage::InitFromTLVSet(TLVReader& TLVSet) +MaterialPackage::InitFromTLVSet(TLVReader& TLVSet) { Result_t result = GenericPackage::InitFromTLVSet(TLVSet); return result; @@ -422,7 +358,7 @@ ASDCP::MXF::MaterialPackage::InitFromTLVSet(TLVReader& TLVSet) // ASDCP::Result_t -ASDCP::MXF::MaterialPackage::WriteToTLVSet(TLVWriter& TLVSet) +MaterialPackage::WriteToTLVSet(TLVWriter& TLVSet) { Result_t result = GenericPackage::WriteToTLVSet(TLVSet); return result; @@ -430,7 +366,7 @@ ASDCP::MXF::MaterialPackage::WriteToTLVSet(TLVWriter& TLVSet) // void -ASDCP::MXF::MaterialPackage::Dump(FILE* stream) +MaterialPackage::Dump(FILE* stream) { char identbuf[IdentBufferLen]; *identbuf = 0; @@ -443,7 +379,7 @@ ASDCP::MXF::MaterialPackage::Dump(FILE* stream) // ASDCP::Result_t -ASDCP::MXF::MaterialPackage::InitFromBuffer(const byte_t* p, ui32_t l) +MaterialPackage::InitFromBuffer(const byte_t* p, ui32_t l) { m_Typeinfo = &Dict::Type(MDD_MaterialPackage); return InterchangeObject::InitFromBuffer(p, l); @@ -451,7 +387,7 @@ ASDCP::MXF::MaterialPackage::InitFromBuffer(const byte_t* p, ui32_t l) // ASDCP::Result_t -ASDCP::MXF::MaterialPackage::WriteToBuffer(ASDCP::FrameBuffer& Buffer) +MaterialPackage::WriteToBuffer(ASDCP::FrameBuffer& Buffer) { m_Typeinfo = &Dict::Type(MDD_MaterialPackage); return InterchangeObject::WriteToBuffer(Buffer); @@ -462,7 +398,7 @@ ASDCP::MXF::MaterialPackage::WriteToBuffer(ASDCP::FrameBuffer& Buffer) // ASDCP::Result_t -ASDCP::MXF::SourcePackage::InitFromTLVSet(TLVReader& TLVSet) +SourcePackage::InitFromTLVSet(TLVReader& TLVSet) { Result_t result = GenericPackage::InitFromTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(SourcePackage, Descriptor)); @@ -471,7 +407,7 @@ ASDCP::MXF::SourcePackage::InitFromTLVSet(TLVReader& TLVSet) // ASDCP::Result_t -ASDCP::MXF::SourcePackage::WriteToTLVSet(TLVWriter& TLVSet) +SourcePackage::WriteToTLVSet(TLVWriter& TLVSet) { Result_t result = GenericPackage::WriteToTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(SourcePackage, Descriptor)); @@ -480,7 +416,7 @@ ASDCP::MXF::SourcePackage::WriteToTLVSet(TLVWriter& TLVSet) // void -ASDCP::MXF::SourcePackage::Dump(FILE* stream) +SourcePackage::Dump(FILE* stream) { char identbuf[IdentBufferLen]; *identbuf = 0; @@ -489,12 +425,12 @@ ASDCP::MXF::SourcePackage::Dump(FILE* stream) stream = stderr; GenericPackage::Dump(stream); - fprintf(stream, " %22s = %s\n", "Descriptor", Descriptor.ToString(identbuf)); + fprintf(stream, " %22s = %s\n", "Descriptor", Descriptor.EncodeString(identbuf, IdentBufferLen)); } // ASDCP::Result_t -ASDCP::MXF::SourcePackage::InitFromBuffer(const byte_t* p, ui32_t l) +SourcePackage::InitFromBuffer(const byte_t* p, ui32_t l) { m_Typeinfo = &Dict::Type(MDD_SourcePackage); return InterchangeObject::InitFromBuffer(p, l); @@ -502,7 +438,7 @@ ASDCP::MXF::SourcePackage::InitFromBuffer(const byte_t* p, ui32_t l) // ASDCP::Result_t -ASDCP::MXF::SourcePackage::WriteToBuffer(ASDCP::FrameBuffer& Buffer) +SourcePackage::WriteToBuffer(ASDCP::FrameBuffer& Buffer) { m_Typeinfo = &Dict::Type(MDD_SourcePackage); return InterchangeObject::WriteToBuffer(Buffer); @@ -513,7 +449,7 @@ ASDCP::MXF::SourcePackage::WriteToBuffer(ASDCP::FrameBuffer& Buffer) // ASDCP::Result_t -ASDCP::MXF::GenericTrack::InitFromTLVSet(TLVReader& TLVSet) +GenericTrack::InitFromTLVSet(TLVReader& TLVSet) { Result_t result = InterchangeObject::InitFromTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadUi32(OBJ_READ_ARGS(GenericTrack, TrackID)); @@ -525,7 +461,7 @@ ASDCP::MXF::GenericTrack::InitFromTLVSet(TLVReader& TLVSet) // ASDCP::Result_t -ASDCP::MXF::GenericTrack::WriteToTLVSet(TLVWriter& TLVSet) +GenericTrack::WriteToTLVSet(TLVWriter& TLVSet) { Result_t result = InterchangeObject::WriteToTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteUi32(OBJ_WRITE_ARGS(GenericTrack, TrackID)); @@ -537,7 +473,7 @@ ASDCP::MXF::GenericTrack::WriteToTLVSet(TLVWriter& TLVSet) // void -ASDCP::MXF::GenericTrack::Dump(FILE* stream) +GenericTrack::Dump(FILE* stream) { char identbuf[IdentBufferLen]; *identbuf = 0; @@ -548,8 +484,8 @@ ASDCP::MXF::GenericTrack::Dump(FILE* stream) InterchangeObject::Dump(stream); fprintf(stream, " %22s = %d\n", "TrackID", TrackID); fprintf(stream, " %22s = %d\n", "TrackNumber", TrackNumber); - fprintf(stream, " %22s = %s\n", "TrackName", TrackName.ToString(identbuf)); - fprintf(stream, " %22s = %s\n", "Sequence", Sequence.ToString(identbuf)); + fprintf(stream, " %22s = %s\n", "TrackName", TrackName.EncodeString(identbuf, IdentBufferLen)); + fprintf(stream, " %22s = %s\n", "Sequence", Sequence.EncodeString(identbuf, IdentBufferLen)); } @@ -558,7 +494,7 @@ ASDCP::MXF::GenericTrack::Dump(FILE* stream) // ASDCP::Result_t -ASDCP::MXF::StaticTrack::InitFromTLVSet(TLVReader& TLVSet) +StaticTrack::InitFromTLVSet(TLVReader& TLVSet) { Result_t result = GenericTrack::InitFromTLVSet(TLVSet); return result; @@ -566,7 +502,7 @@ ASDCP::MXF::StaticTrack::InitFromTLVSet(TLVReader& TLVSet) // ASDCP::Result_t -ASDCP::MXF::StaticTrack::WriteToTLVSet(TLVWriter& TLVSet) +StaticTrack::WriteToTLVSet(TLVWriter& TLVSet) { Result_t result = GenericTrack::WriteToTLVSet(TLVSet); return result; @@ -574,7 +510,7 @@ ASDCP::MXF::StaticTrack::WriteToTLVSet(TLVWriter& TLVSet) // void -ASDCP::MXF::StaticTrack::Dump(FILE* stream) +StaticTrack::Dump(FILE* stream) { char identbuf[IdentBufferLen]; *identbuf = 0; @@ -587,7 +523,7 @@ ASDCP::MXF::StaticTrack::Dump(FILE* stream) // ASDCP::Result_t -ASDCP::MXF::StaticTrack::InitFromBuffer(const byte_t* p, ui32_t l) +StaticTrack::InitFromBuffer(const byte_t* p, ui32_t l) { m_Typeinfo = &Dict::Type(MDD_StaticTrack); return InterchangeObject::InitFromBuffer(p, l); @@ -595,7 +531,7 @@ ASDCP::MXF::StaticTrack::InitFromBuffer(const byte_t* p, ui32_t l) // ASDCP::Result_t -ASDCP::MXF::StaticTrack::WriteToBuffer(ASDCP::FrameBuffer& Buffer) +StaticTrack::WriteToBuffer(ASDCP::FrameBuffer& Buffer) { m_Typeinfo = &Dict::Type(MDD_StaticTrack); return InterchangeObject::WriteToBuffer(Buffer); @@ -606,7 +542,7 @@ ASDCP::MXF::StaticTrack::WriteToBuffer(ASDCP::FrameBuffer& Buffer) // ASDCP::Result_t -ASDCP::MXF::Track::InitFromTLVSet(TLVReader& TLVSet) +Track::InitFromTLVSet(TLVReader& TLVSet) { Result_t result = GenericTrack::InitFromTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(Track, EditRate)); @@ -616,7 +552,7 @@ ASDCP::MXF::Track::InitFromTLVSet(TLVReader& TLVSet) // ASDCP::Result_t -ASDCP::MXF::Track::WriteToTLVSet(TLVWriter& TLVSet) +Track::WriteToTLVSet(TLVWriter& TLVSet) { Result_t result = GenericTrack::WriteToTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(Track, EditRate)); @@ -626,7 +562,7 @@ ASDCP::MXF::Track::WriteToTLVSet(TLVWriter& TLVSet) // void -ASDCP::MXF::Track::Dump(FILE* stream) +Track::Dump(FILE* stream) { char identbuf[IdentBufferLen]; *identbuf = 0; @@ -635,13 +571,13 @@ ASDCP::MXF::Track::Dump(FILE* stream) stream = stderr; GenericTrack::Dump(stream); - fprintf(stream, " %22s = %s\n", "EditRate", EditRate.ToString(identbuf)); + fprintf(stream, " %22s = %s\n", "EditRate", EditRate.EncodeString(identbuf, IdentBufferLen)); fprintf(stream, " %22s = %s\n", "Origin", i64sz(Origin, identbuf)); } // ASDCP::Result_t -ASDCP::MXF::Track::InitFromBuffer(const byte_t* p, ui32_t l) +Track::InitFromBuffer(const byte_t* p, ui32_t l) { m_Typeinfo = &Dict::Type(MDD_Track); return InterchangeObject::InitFromBuffer(p, l); @@ -649,7 +585,7 @@ ASDCP::MXF::Track::InitFromBuffer(const byte_t* p, ui32_t l) // ASDCP::Result_t -ASDCP::MXF::Track::WriteToBuffer(ASDCP::FrameBuffer& Buffer) +Track::WriteToBuffer(ASDCP::FrameBuffer& Buffer) { m_Typeinfo = &Dict::Type(MDD_Track); return InterchangeObject::WriteToBuffer(Buffer); @@ -660,7 +596,7 @@ ASDCP::MXF::Track::WriteToBuffer(ASDCP::FrameBuffer& Buffer) // ASDCP::Result_t -ASDCP::MXF::StructuralComponent::InitFromTLVSet(TLVReader& TLVSet) +StructuralComponent::InitFromTLVSet(TLVReader& TLVSet) { Result_t result = InterchangeObject::InitFromTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(StructuralComponent, DataDefinition)); @@ -670,7 +606,7 @@ ASDCP::MXF::StructuralComponent::InitFromTLVSet(TLVReader& TLVSet) // ASDCP::Result_t -ASDCP::MXF::StructuralComponent::WriteToTLVSet(TLVWriter& TLVSet) +StructuralComponent::WriteToTLVSet(TLVWriter& TLVSet) { Result_t result = InterchangeObject::WriteToTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(StructuralComponent, DataDefinition)); @@ -680,7 +616,7 @@ ASDCP::MXF::StructuralComponent::WriteToTLVSet(TLVWriter& TLVSet) // void -ASDCP::MXF::StructuralComponent::Dump(FILE* stream) +StructuralComponent::Dump(FILE* stream) { char identbuf[IdentBufferLen]; *identbuf = 0; @@ -689,7 +625,7 @@ ASDCP::MXF::StructuralComponent::Dump(FILE* stream) stream = stderr; InterchangeObject::Dump(stream); - fprintf(stream, " %22s = %s\n", "DataDefinition", DataDefinition.ToString(identbuf)); + fprintf(stream, " %22s = %s\n", "DataDefinition", DataDefinition.EncodeString(identbuf, IdentBufferLen)); fprintf(stream, " %22s = %s\n", "Duration", i64sz(Duration, identbuf)); } @@ -699,7 +635,7 @@ ASDCP::MXF::StructuralComponent::Dump(FILE* stream) // ASDCP::Result_t -ASDCP::MXF::Sequence::InitFromTLVSet(TLVReader& TLVSet) +Sequence::InitFromTLVSet(TLVReader& TLVSet) { Result_t result = StructuralComponent::InitFromTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(Sequence, StructuralComponents)); @@ -708,7 +644,7 @@ ASDCP::MXF::Sequence::InitFromTLVSet(TLVReader& TLVSet) // ASDCP::Result_t -ASDCP::MXF::Sequence::WriteToTLVSet(TLVWriter& TLVSet) +Sequence::WriteToTLVSet(TLVWriter& TLVSet) { Result_t result = StructuralComponent::WriteToTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(Sequence, StructuralComponents)); @@ -717,7 +653,7 @@ ASDCP::MXF::Sequence::WriteToTLVSet(TLVWriter& TLVSet) // void -ASDCP::MXF::Sequence::Dump(FILE* stream) +Sequence::Dump(FILE* stream) { char identbuf[IdentBufferLen]; *identbuf = 0; @@ -732,7 +668,7 @@ ASDCP::MXF::Sequence::Dump(FILE* stream) // ASDCP::Result_t -ASDCP::MXF::Sequence::InitFromBuffer(const byte_t* p, ui32_t l) +Sequence::InitFromBuffer(const byte_t* p, ui32_t l) { m_Typeinfo = &Dict::Type(MDD_Sequence); return InterchangeObject::InitFromBuffer(p, l); @@ -740,7 +676,7 @@ ASDCP::MXF::Sequence::InitFromBuffer(const byte_t* p, ui32_t l) // ASDCP::Result_t -ASDCP::MXF::Sequence::WriteToBuffer(ASDCP::FrameBuffer& Buffer) +Sequence::WriteToBuffer(ASDCP::FrameBuffer& Buffer) { m_Typeinfo = &Dict::Type(MDD_Sequence); return InterchangeObject::WriteToBuffer(Buffer); @@ -751,7 +687,7 @@ ASDCP::MXF::Sequence::WriteToBuffer(ASDCP::FrameBuffer& Buffer) // ASDCP::Result_t -ASDCP::MXF::SourceClip::InitFromTLVSet(TLVReader& TLVSet) +SourceClip::InitFromTLVSet(TLVReader& TLVSet) { Result_t result = StructuralComponent::InitFromTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadUi64(OBJ_READ_ARGS(SourceClip, StartPosition)); @@ -762,7 +698,7 @@ ASDCP::MXF::SourceClip::InitFromTLVSet(TLVReader& TLVSet) // ASDCP::Result_t -ASDCP::MXF::SourceClip::WriteToTLVSet(TLVWriter& TLVSet) +SourceClip::WriteToTLVSet(TLVWriter& TLVSet) { Result_t result = StructuralComponent::WriteToTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteUi64(OBJ_WRITE_ARGS(SourceClip, StartPosition)); @@ -773,7 +709,7 @@ ASDCP::MXF::SourceClip::WriteToTLVSet(TLVWriter& TLVSet) // void -ASDCP::MXF::SourceClip::Dump(FILE* stream) +SourceClip::Dump(FILE* stream) { char identbuf[IdentBufferLen]; *identbuf = 0; @@ -783,13 +719,13 @@ ASDCP::MXF::SourceClip::Dump(FILE* stream) StructuralComponent::Dump(stream); fprintf(stream, " %22s = %s\n", "StartPosition", i64sz(StartPosition, identbuf)); - fprintf(stream, " %22s = %s\n", "SourcePackageID", SourcePackageID.ToString(identbuf)); + fprintf(stream, " %22s = %s\n", "SourcePackageID", SourcePackageID.EncodeString(identbuf, IdentBufferLen)); fprintf(stream, " %22s = %d\n", "SourceTrackID", SourceTrackID); } // ASDCP::Result_t -ASDCP::MXF::SourceClip::InitFromBuffer(const byte_t* p, ui32_t l) +SourceClip::InitFromBuffer(const byte_t* p, ui32_t l) { m_Typeinfo = &Dict::Type(MDD_SourceClip); return InterchangeObject::InitFromBuffer(p, l); @@ -797,7 +733,7 @@ ASDCP::MXF::SourceClip::InitFromBuffer(const byte_t* p, ui32_t l) // ASDCP::Result_t -ASDCP::MXF::SourceClip::WriteToBuffer(ASDCP::FrameBuffer& Buffer) +SourceClip::WriteToBuffer(ASDCP::FrameBuffer& Buffer) { m_Typeinfo = &Dict::Type(MDD_SourceClip); return InterchangeObject::WriteToBuffer(Buffer); @@ -808,7 +744,7 @@ ASDCP::MXF::SourceClip::WriteToBuffer(ASDCP::FrameBuffer& Buffer) // ASDCP::Result_t -ASDCP::MXF::TimecodeComponent::InitFromTLVSet(TLVReader& TLVSet) +TimecodeComponent::InitFromTLVSet(TLVReader& TLVSet) { Result_t result = StructuralComponent::InitFromTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadUi16(OBJ_READ_ARGS(TimecodeComponent, RoundedTimecodeBase)); @@ -819,7 +755,7 @@ ASDCP::MXF::TimecodeComponent::InitFromTLVSet(TLVReader& TLVSet) // ASDCP::Result_t -ASDCP::MXF::TimecodeComponent::WriteToTLVSet(TLVWriter& TLVSet) +TimecodeComponent::WriteToTLVSet(TLVWriter& TLVSet) { Result_t result = StructuralComponent::WriteToTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteUi16(OBJ_WRITE_ARGS(TimecodeComponent, RoundedTimecodeBase)); @@ -830,7 +766,7 @@ ASDCP::MXF::TimecodeComponent::WriteToTLVSet(TLVWriter& TLVSet) // void -ASDCP::MXF::TimecodeComponent::Dump(FILE* stream) +TimecodeComponent::Dump(FILE* stream) { char identbuf[IdentBufferLen]; *identbuf = 0; @@ -846,7 +782,7 @@ ASDCP::MXF::TimecodeComponent::Dump(FILE* stream) // ASDCP::Result_t -ASDCP::MXF::TimecodeComponent::InitFromBuffer(const byte_t* p, ui32_t l) +TimecodeComponent::InitFromBuffer(const byte_t* p, ui32_t l) { m_Typeinfo = &Dict::Type(MDD_TimecodeComponent); return InterchangeObject::InitFromBuffer(p, l); @@ -854,7 +790,7 @@ ASDCP::MXF::TimecodeComponent::InitFromBuffer(const byte_t* p, ui32_t l) // ASDCP::Result_t -ASDCP::MXF::TimecodeComponent::WriteToBuffer(ASDCP::FrameBuffer& Buffer) +TimecodeComponent::WriteToBuffer(ASDCP::FrameBuffer& Buffer) { m_Typeinfo = &Dict::Type(MDD_TimecodeComponent); return InterchangeObject::WriteToBuffer(Buffer); @@ -865,7 +801,7 @@ ASDCP::MXF::TimecodeComponent::WriteToBuffer(ASDCP::FrameBuffer& Buffer) // ASDCP::Result_t -ASDCP::MXF::GenericDescriptor::InitFromTLVSet(TLVReader& TLVSet) +GenericDescriptor::InitFromTLVSet(TLVReader& TLVSet) { Result_t result = InterchangeObject::InitFromTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(GenericDescriptor, Locators)); @@ -875,7 +811,7 @@ ASDCP::MXF::GenericDescriptor::InitFromTLVSet(TLVReader& TLVSet) // ASDCP::Result_t -ASDCP::MXF::GenericDescriptor::WriteToTLVSet(TLVWriter& TLVSet) +GenericDescriptor::WriteToTLVSet(TLVWriter& TLVSet) { Result_t result = InterchangeObject::WriteToTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(GenericDescriptor, Locators)); @@ -885,7 +821,7 @@ ASDCP::MXF::GenericDescriptor::WriteToTLVSet(TLVWriter& TLVSet) // void -ASDCP::MXF::GenericDescriptor::Dump(FILE* stream) +GenericDescriptor::Dump(FILE* stream) { char identbuf[IdentBufferLen]; *identbuf = 0; @@ -906,7 +842,7 @@ ASDCP::MXF::GenericDescriptor::Dump(FILE* stream) // ASDCP::Result_t -ASDCP::MXF::FileDescriptor::InitFromTLVSet(TLVReader& TLVSet) +FileDescriptor::InitFromTLVSet(TLVReader& TLVSet) { Result_t result = GenericDescriptor::InitFromTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadUi32(OBJ_READ_ARGS(FileDescriptor, LinkedTrackID)); @@ -919,7 +855,7 @@ ASDCP::MXF::FileDescriptor::InitFromTLVSet(TLVReader& TLVSet) // ASDCP::Result_t -ASDCP::MXF::FileDescriptor::WriteToTLVSet(TLVWriter& TLVSet) +FileDescriptor::WriteToTLVSet(TLVWriter& TLVSet) { Result_t result = GenericDescriptor::WriteToTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteUi32(OBJ_WRITE_ARGS(FileDescriptor, LinkedTrackID)); @@ -932,7 +868,7 @@ ASDCP::MXF::FileDescriptor::WriteToTLVSet(TLVWriter& TLVSet) // void -ASDCP::MXF::FileDescriptor::Dump(FILE* stream) +FileDescriptor::Dump(FILE* stream) { char identbuf[IdentBufferLen]; *identbuf = 0; @@ -942,15 +878,15 @@ ASDCP::MXF::FileDescriptor::Dump(FILE* stream) GenericDescriptor::Dump(stream); fprintf(stream, " %22s = %d\n", "LinkedTrackID", LinkedTrackID); - fprintf(stream, " %22s = %s\n", "SampleRate", SampleRate.ToString(identbuf)); + fprintf(stream, " %22s = %s\n", "SampleRate", SampleRate.EncodeString(identbuf, IdentBufferLen)); fprintf(stream, " %22s = %s\n", "ContainerDuration", i64sz(ContainerDuration, identbuf)); - fprintf(stream, " %22s = %s\n", "EssenceContainer", EssenceContainer.ToString(identbuf)); - fprintf(stream, " %22s = %s\n", "Codec", Codec.ToString(identbuf)); + fprintf(stream, " %22s = %s\n", "EssenceContainer", EssenceContainer.EncodeString(identbuf, IdentBufferLen)); + fprintf(stream, " %22s = %s\n", "Codec", Codec.EncodeString(identbuf, IdentBufferLen)); } // ASDCP::Result_t -ASDCP::MXF::FileDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) +FileDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) { m_Typeinfo = &Dict::Type(MDD_FileDescriptor); return InterchangeObject::InitFromBuffer(p, l); @@ -958,7 +894,7 @@ ASDCP::MXF::FileDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) // ASDCP::Result_t -ASDCP::MXF::FileDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) +FileDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) { m_Typeinfo = &Dict::Type(MDD_FileDescriptor); return InterchangeObject::WriteToBuffer(Buffer); @@ -969,7 +905,7 @@ ASDCP::MXF::FileDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) // ASDCP::Result_t -ASDCP::MXF::GenericSoundEssenceDescriptor::InitFromTLVSet(TLVReader& TLVSet) +GenericSoundEssenceDescriptor::InitFromTLVSet(TLVReader& TLVSet) { Result_t result = FileDescriptor::InitFromTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(GenericSoundEssenceDescriptor, AudioSamplingRate)); @@ -983,7 +919,7 @@ ASDCP::MXF::GenericSoundEssenceDescriptor::InitFromTLVSet(TLVReader& TLVSet) // ASDCP::Result_t -ASDCP::MXF::GenericSoundEssenceDescriptor::WriteToTLVSet(TLVWriter& TLVSet) +GenericSoundEssenceDescriptor::WriteToTLVSet(TLVWriter& TLVSet) { Result_t result = FileDescriptor::WriteToTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(GenericSoundEssenceDescriptor, AudioSamplingRate)); @@ -997,7 +933,7 @@ ASDCP::MXF::GenericSoundEssenceDescriptor::WriteToTLVSet(TLVWriter& TLVSet) // void -ASDCP::MXF::GenericSoundEssenceDescriptor::Dump(FILE* stream) +GenericSoundEssenceDescriptor::Dump(FILE* stream) { char identbuf[IdentBufferLen]; *identbuf = 0; @@ -1006,7 +942,7 @@ ASDCP::MXF::GenericSoundEssenceDescriptor::Dump(FILE* stream) stream = stderr; FileDescriptor::Dump(stream); - fprintf(stream, " %22s = %s\n", "AudioSamplingRate", AudioSamplingRate.ToString(identbuf)); + fprintf(stream, " %22s = %s\n", "AudioSamplingRate", AudioSamplingRate.EncodeString(identbuf, IdentBufferLen)); fprintf(stream, " %22s = %d\n", "Locked", Locked); fprintf(stream, " %22s = %d\n", "AudioRefLevel", AudioRefLevel); fprintf(stream, " %22s = %d\n", "ChannelCount", ChannelCount); @@ -1016,7 +952,7 @@ ASDCP::MXF::GenericSoundEssenceDescriptor::Dump(FILE* stream) // ASDCP::Result_t -ASDCP::MXF::GenericSoundEssenceDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) +GenericSoundEssenceDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) { m_Typeinfo = &Dict::Type(MDD_GenericSoundEssenceDescriptor); return InterchangeObject::InitFromBuffer(p, l); @@ -1024,7 +960,7 @@ ASDCP::MXF::GenericSoundEssenceDescriptor::InitFromBuffer(const byte_t* p, ui32_ // ASDCP::Result_t -ASDCP::MXF::GenericSoundEssenceDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) +GenericSoundEssenceDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) { m_Typeinfo = &Dict::Type(MDD_GenericSoundEssenceDescriptor); return InterchangeObject::WriteToBuffer(Buffer); @@ -1035,7 +971,7 @@ ASDCP::MXF::GenericSoundEssenceDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buf // ASDCP::Result_t -ASDCP::MXF::WaveAudioDescriptor::InitFromTLVSet(TLVReader& TLVSet) +WaveAudioDescriptor::InitFromTLVSet(TLVReader& TLVSet) { Result_t result = GenericSoundEssenceDescriptor::InitFromTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadUi16(OBJ_READ_ARGS(WaveAudioDescriptor, BlockAlign)); @@ -1046,7 +982,7 @@ ASDCP::MXF::WaveAudioDescriptor::InitFromTLVSet(TLVReader& TLVSet) // ASDCP::Result_t -ASDCP::MXF::WaveAudioDescriptor::WriteToTLVSet(TLVWriter& TLVSet) +WaveAudioDescriptor::WriteToTLVSet(TLVWriter& TLVSet) { Result_t result = GenericSoundEssenceDescriptor::WriteToTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteUi16(OBJ_WRITE_ARGS(WaveAudioDescriptor, BlockAlign)); @@ -1057,7 +993,7 @@ ASDCP::MXF::WaveAudioDescriptor::WriteToTLVSet(TLVWriter& TLVSet) // void -ASDCP::MXF::WaveAudioDescriptor::Dump(FILE* stream) +WaveAudioDescriptor::Dump(FILE* stream) { char identbuf[IdentBufferLen]; *identbuf = 0; @@ -1073,7 +1009,7 @@ ASDCP::MXF::WaveAudioDescriptor::Dump(FILE* stream) // ASDCP::Result_t -ASDCP::MXF::WaveAudioDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) +WaveAudioDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) { m_Typeinfo = &Dict::Type(MDD_WaveAudioDescriptor); return InterchangeObject::InitFromBuffer(p, l); @@ -1081,7 +1017,7 @@ ASDCP::MXF::WaveAudioDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) // ASDCP::Result_t -ASDCP::MXF::WaveAudioDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) +WaveAudioDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) { m_Typeinfo = &Dict::Type(MDD_WaveAudioDescriptor); return InterchangeObject::WriteToBuffer(Buffer); @@ -1092,31 +1028,33 @@ ASDCP::MXF::WaveAudioDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) // ASDCP::Result_t -ASDCP::MXF::GenericPictureEssenceDescriptor::InitFromTLVSet(TLVReader& TLVSet) +GenericPictureEssenceDescriptor::InitFromTLVSet(TLVReader& TLVSet) { Result_t result = FileDescriptor::InitFromTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadUi8(OBJ_READ_ARGS(GenericPictureEssenceDescriptor, FrameLayout)); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadUi32(OBJ_READ_ARGS(GenericPictureEssenceDescriptor, StoredWidth)); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadUi32(OBJ_READ_ARGS(GenericPictureEssenceDescriptor, StoredHeight)); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(GenericPictureEssenceDescriptor, AspectRatio)); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(GenericPictureEssenceDescriptor, PictureEssenceCoding)); return result; } // ASDCP::Result_t -ASDCP::MXF::GenericPictureEssenceDescriptor::WriteToTLVSet(TLVWriter& TLVSet) +GenericPictureEssenceDescriptor::WriteToTLVSet(TLVWriter& TLVSet) { Result_t result = FileDescriptor::WriteToTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteUi8(OBJ_WRITE_ARGS(GenericPictureEssenceDescriptor, FrameLayout)); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteUi32(OBJ_WRITE_ARGS(GenericPictureEssenceDescriptor, StoredWidth)); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteUi32(OBJ_WRITE_ARGS(GenericPictureEssenceDescriptor, StoredHeight)); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(GenericPictureEssenceDescriptor, AspectRatio)); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(GenericPictureEssenceDescriptor, PictureEssenceCoding)); return result; } // void -ASDCP::MXF::GenericPictureEssenceDescriptor::Dump(FILE* stream) +GenericPictureEssenceDescriptor::Dump(FILE* stream) { char identbuf[IdentBufferLen]; *identbuf = 0; @@ -1128,12 +1066,13 @@ ASDCP::MXF::GenericPictureEssenceDescriptor::Dump(FILE* stream) fprintf(stream, " %22s = %d\n", "FrameLayout", FrameLayout); fprintf(stream, " %22s = %d\n", "StoredWidth", StoredWidth); fprintf(stream, " %22s = %d\n", "StoredHeight", StoredHeight); - fprintf(stream, " %22s = %s\n", "AspectRatio", AspectRatio.ToString(identbuf)); + fprintf(stream, " %22s = %s\n", "AspectRatio", AspectRatio.EncodeString(identbuf, IdentBufferLen)); + fprintf(stream, " %22s = %s\n", "PictureEssenceCoding", PictureEssenceCoding.EncodeString(identbuf, IdentBufferLen)); } // ASDCP::Result_t -ASDCP::MXF::GenericPictureEssenceDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) +GenericPictureEssenceDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) { m_Typeinfo = &Dict::Type(MDD_GenericPictureEssenceDescriptor); return InterchangeObject::InitFromBuffer(p, l); @@ -1141,7 +1080,7 @@ ASDCP::MXF::GenericPictureEssenceDescriptor::InitFromBuffer(const byte_t* p, ui3 // ASDCP::Result_t -ASDCP::MXF::GenericPictureEssenceDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) +GenericPictureEssenceDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) { m_Typeinfo = &Dict::Type(MDD_GenericPictureEssenceDescriptor); return InterchangeObject::WriteToBuffer(Buffer); @@ -1152,7 +1091,7 @@ ASDCP::MXF::GenericPictureEssenceDescriptor::WriteToBuffer(ASDCP::FrameBuffer& B // ASDCP::Result_t -ASDCP::MXF::RGBAEssenceDescriptor::InitFromTLVSet(TLVReader& TLVSet) +RGBAEssenceDescriptor::InitFromTLVSet(TLVReader& TLVSet) { Result_t result = GenericPictureEssenceDescriptor::InitFromTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadUi32(OBJ_READ_ARGS(RGBAEssenceDescriptor, ComponentMaxRef)); @@ -1162,7 +1101,7 @@ ASDCP::MXF::RGBAEssenceDescriptor::InitFromTLVSet(TLVReader& TLVSet) // ASDCP::Result_t -ASDCP::MXF::RGBAEssenceDescriptor::WriteToTLVSet(TLVWriter& TLVSet) +RGBAEssenceDescriptor::WriteToTLVSet(TLVWriter& TLVSet) { Result_t result = GenericPictureEssenceDescriptor::WriteToTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteUi32(OBJ_WRITE_ARGS(RGBAEssenceDescriptor, ComponentMaxRef)); @@ -1172,7 +1111,7 @@ ASDCP::MXF::RGBAEssenceDescriptor::WriteToTLVSet(TLVWriter& TLVSet) // void -ASDCP::MXF::RGBAEssenceDescriptor::Dump(FILE* stream) +RGBAEssenceDescriptor::Dump(FILE* stream) { char identbuf[IdentBufferLen]; *identbuf = 0; @@ -1187,7 +1126,7 @@ ASDCP::MXF::RGBAEssenceDescriptor::Dump(FILE* stream) // ASDCP::Result_t -ASDCP::MXF::RGBAEssenceDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) +RGBAEssenceDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) { m_Typeinfo = &Dict::Type(MDD_RGBAEssenceDescriptor); return InterchangeObject::InitFromBuffer(p, l); @@ -1195,7 +1134,7 @@ ASDCP::MXF::RGBAEssenceDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) // ASDCP::Result_t -ASDCP::MXF::RGBAEssenceDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) +RGBAEssenceDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) { m_Typeinfo = &Dict::Type(MDD_RGBAEssenceDescriptor); return InterchangeObject::WriteToBuffer(Buffer); @@ -1206,7 +1145,7 @@ ASDCP::MXF::RGBAEssenceDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) // ASDCP::Result_t -ASDCP::MXF::JPEG2000PictureSubDescriptor::InitFromTLVSet(TLVReader& TLVSet) +JPEG2000PictureSubDescriptor::InitFromTLVSet(TLVReader& TLVSet) { Result_t result = InterchangeObject::InitFromTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadUi16(OBJ_READ_ARGS(JPEG2000PictureSubDescriptor, Rsize)); @@ -1227,7 +1166,7 @@ ASDCP::MXF::JPEG2000PictureSubDescriptor::InitFromTLVSet(TLVReader& TLVSet) // ASDCP::Result_t -ASDCP::MXF::JPEG2000PictureSubDescriptor::WriteToTLVSet(TLVWriter& TLVSet) +JPEG2000PictureSubDescriptor::WriteToTLVSet(TLVWriter& TLVSet) { Result_t result = InterchangeObject::WriteToTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteUi16(OBJ_WRITE_ARGS(JPEG2000PictureSubDescriptor, Rsize)); @@ -1248,7 +1187,7 @@ ASDCP::MXF::JPEG2000PictureSubDescriptor::WriteToTLVSet(TLVWriter& TLVSet) // void -ASDCP::MXF::JPEG2000PictureSubDescriptor::Dump(FILE* stream) +JPEG2000PictureSubDescriptor::Dump(FILE* stream) { char identbuf[IdentBufferLen]; *identbuf = 0; @@ -1267,14 +1206,14 @@ ASDCP::MXF::JPEG2000PictureSubDescriptor::Dump(FILE* stream) fprintf(stream, " %22s = %d\n", "XTOsize", XTOsize); fprintf(stream, " %22s = %d\n", "YTOsize", YTOsize); fprintf(stream, " %22s = %d\n", "Csize", Csize); - fprintf(stream, " %22s = %s\n", "PictureComponentSizing", PictureComponentSizing.ToString(identbuf)); - fprintf(stream, " %22s = %s\n", "CodingStyleDefault", CodingStyleDefault.ToString(identbuf)); - fprintf(stream, " %22s = %s\n", "QuantizationDefault", QuantizationDefault.ToString(identbuf)); + fprintf(stream, " %22s = %s\n", "PictureComponentSizing", PictureComponentSizing.EncodeString(identbuf, IdentBufferLen)); + fprintf(stream, " %22s = %s\n", "CodingStyleDefault", CodingStyleDefault.EncodeString(identbuf, IdentBufferLen)); + fprintf(stream, " %22s = %s\n", "QuantizationDefault", QuantizationDefault.EncodeString(identbuf, IdentBufferLen)); } // ASDCP::Result_t -ASDCP::MXF::JPEG2000PictureSubDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) +JPEG2000PictureSubDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) { m_Typeinfo = &Dict::Type(MDD_JPEG2000PictureSubDescriptor); return InterchangeObject::InitFromBuffer(p, l); @@ -1282,7 +1221,7 @@ ASDCP::MXF::JPEG2000PictureSubDescriptor::InitFromBuffer(const byte_t* p, ui32_t // ASDCP::Result_t -ASDCP::MXF::JPEG2000PictureSubDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) +JPEG2000PictureSubDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) { m_Typeinfo = &Dict::Type(MDD_JPEG2000PictureSubDescriptor); return InterchangeObject::WriteToBuffer(Buffer); @@ -1293,7 +1232,7 @@ ASDCP::MXF::JPEG2000PictureSubDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buff // ASDCP::Result_t -ASDCP::MXF::CDCIEssenceDescriptor::InitFromTLVSet(TLVReader& TLVSet) +CDCIEssenceDescriptor::InitFromTLVSet(TLVReader& TLVSet) { Result_t result = GenericPictureEssenceDescriptor::InitFromTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadUi32(OBJ_READ_ARGS(CDCIEssenceDescriptor, ComponentDepth)); @@ -1305,7 +1244,7 @@ ASDCP::MXF::CDCIEssenceDescriptor::InitFromTLVSet(TLVReader& TLVSet) // ASDCP::Result_t -ASDCP::MXF::CDCIEssenceDescriptor::WriteToTLVSet(TLVWriter& TLVSet) +CDCIEssenceDescriptor::WriteToTLVSet(TLVWriter& TLVSet) { Result_t result = GenericPictureEssenceDescriptor::WriteToTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteUi32(OBJ_WRITE_ARGS(CDCIEssenceDescriptor, ComponentDepth)); @@ -1317,7 +1256,7 @@ ASDCP::MXF::CDCIEssenceDescriptor::WriteToTLVSet(TLVWriter& TLVSet) // void -ASDCP::MXF::CDCIEssenceDescriptor::Dump(FILE* stream) +CDCIEssenceDescriptor::Dump(FILE* stream) { char identbuf[IdentBufferLen]; *identbuf = 0; @@ -1334,7 +1273,7 @@ ASDCP::MXF::CDCIEssenceDescriptor::Dump(FILE* stream) // ASDCP::Result_t -ASDCP::MXF::CDCIEssenceDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) +CDCIEssenceDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) { m_Typeinfo = &Dict::Type(MDD_CDCIEssenceDescriptor); return InterchangeObject::InitFromBuffer(p, l); @@ -1342,7 +1281,7 @@ ASDCP::MXF::CDCIEssenceDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) // ASDCP::Result_t -ASDCP::MXF::CDCIEssenceDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) +CDCIEssenceDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) { m_Typeinfo = &Dict::Type(MDD_CDCIEssenceDescriptor); return InterchangeObject::WriteToBuffer(Buffer); @@ -1353,7 +1292,7 @@ ASDCP::MXF::CDCIEssenceDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) // ASDCP::Result_t -ASDCP::MXF::MPEG2VideoDescriptor::InitFromTLVSet(TLVReader& TLVSet) +MPEG2VideoDescriptor::InitFromTLVSet(TLVReader& TLVSet) { Result_t result = CDCIEssenceDescriptor::InitFromTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadUi8(OBJ_READ_ARGS(MPEG2VideoDescriptor, CodedContentType)); @@ -1365,7 +1304,7 @@ ASDCP::MXF::MPEG2VideoDescriptor::InitFromTLVSet(TLVReader& TLVSet) // ASDCP::Result_t -ASDCP::MXF::MPEG2VideoDescriptor::WriteToTLVSet(TLVWriter& TLVSet) +MPEG2VideoDescriptor::WriteToTLVSet(TLVWriter& TLVSet) { Result_t result = CDCIEssenceDescriptor::WriteToTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteUi8(OBJ_WRITE_ARGS(MPEG2VideoDescriptor, CodedContentType)); @@ -1377,7 +1316,7 @@ ASDCP::MXF::MPEG2VideoDescriptor::WriteToTLVSet(TLVWriter& TLVSet) // void -ASDCP::MXF::MPEG2VideoDescriptor::Dump(FILE* stream) +MPEG2VideoDescriptor::Dump(FILE* stream) { char identbuf[IdentBufferLen]; *identbuf = 0; @@ -1394,7 +1333,7 @@ ASDCP::MXF::MPEG2VideoDescriptor::Dump(FILE* stream) // ASDCP::Result_t -ASDCP::MXF::MPEG2VideoDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) +MPEG2VideoDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) { m_Typeinfo = &Dict::Type(MDD_MPEG2VideoDescriptor); return InterchangeObject::InitFromBuffer(p, l); @@ -1402,7 +1341,7 @@ ASDCP::MXF::MPEG2VideoDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) // ASDCP::Result_t -ASDCP::MXF::MPEG2VideoDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) +MPEG2VideoDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) { m_Typeinfo = &Dict::Type(MDD_MPEG2VideoDescriptor); return InterchangeObject::WriteToBuffer(Buffer); @@ -1413,10 +1352,12 @@ ASDCP::MXF::MPEG2VideoDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) // ASDCP::Result_t -ASDCP::MXF::DMSegment::InitFromTLVSet(TLVReader& TLVSet) +DMSegment::InitFromTLVSet(TLVReader& TLVSet) { Result_t result = InterchangeObject::InitFromTLVSet(TLVSet); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(DMSegment, DataDefinition)); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadUi64(OBJ_READ_ARGS(DMSegment, EventStartPosition)); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadUi64(OBJ_READ_ARGS(DMSegment, Duration)); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(DMSegment, EventComment)); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(DMSegment, DMFramework)); return result; @@ -1424,10 +1365,12 @@ ASDCP::MXF::DMSegment::InitFromTLVSet(TLVReader& TLVSet) // ASDCP::Result_t -ASDCP::MXF::DMSegment::WriteToTLVSet(TLVWriter& TLVSet) +DMSegment::WriteToTLVSet(TLVWriter& TLVSet) { Result_t result = InterchangeObject::WriteToTLVSet(TLVSet); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(DMSegment, DataDefinition)); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteUi64(OBJ_WRITE_ARGS(DMSegment, EventStartPosition)); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteUi64(OBJ_WRITE_ARGS(DMSegment, Duration)); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(DMSegment, EventComment)); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(DMSegment, DMFramework)); return result; @@ -1435,7 +1378,7 @@ ASDCP::MXF::DMSegment::WriteToTLVSet(TLVWriter& TLVSet) // void -ASDCP::MXF::DMSegment::Dump(FILE* stream) +DMSegment::Dump(FILE* stream) { char identbuf[IdentBufferLen]; *identbuf = 0; @@ -1444,14 +1387,16 @@ ASDCP::MXF::DMSegment::Dump(FILE* stream) stream = stderr; InterchangeObject::Dump(stream); + fprintf(stream, " %22s = %s\n", "DataDefinition", DataDefinition.EncodeString(identbuf, IdentBufferLen)); fprintf(stream, " %22s = %s\n", "EventStartPosition", i64sz(EventStartPosition, identbuf)); - fprintf(stream, " %22s = %s\n", "EventComment", EventComment.ToString(identbuf)); - fprintf(stream, " %22s = %s\n", "DMFramework", DMFramework.ToString(identbuf)); + fprintf(stream, " %22s = %s\n", "Duration", i64sz(Duration, identbuf)); + fprintf(stream, " %22s = %s\n", "EventComment", EventComment.EncodeString(identbuf, IdentBufferLen)); + fprintf(stream, " %22s = %s\n", "DMFramework", DMFramework.EncodeString(identbuf, IdentBufferLen)); } // ASDCP::Result_t -ASDCP::MXF::DMSegment::InitFromBuffer(const byte_t* p, ui32_t l) +DMSegment::InitFromBuffer(const byte_t* p, ui32_t l) { m_Typeinfo = &Dict::Type(MDD_DMSegment); return InterchangeObject::InitFromBuffer(p, l); @@ -1459,7 +1404,7 @@ ASDCP::MXF::DMSegment::InitFromBuffer(const byte_t* p, ui32_t l) // ASDCP::Result_t -ASDCP::MXF::DMSegment::WriteToBuffer(ASDCP::FrameBuffer& Buffer) +DMSegment::WriteToBuffer(ASDCP::FrameBuffer& Buffer) { m_Typeinfo = &Dict::Type(MDD_DMSegment); return InterchangeObject::WriteToBuffer(Buffer); @@ -1470,7 +1415,7 @@ ASDCP::MXF::DMSegment::WriteToBuffer(ASDCP::FrameBuffer& Buffer) // ASDCP::Result_t -ASDCP::MXF::CryptographicFramework::InitFromTLVSet(TLVReader& TLVSet) +CryptographicFramework::InitFromTLVSet(TLVReader& TLVSet) { Result_t result = InterchangeObject::InitFromTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(CryptographicFramework, ContextSR)); @@ -1479,7 +1424,7 @@ ASDCP::MXF::CryptographicFramework::InitFromTLVSet(TLVReader& TLVSet) // ASDCP::Result_t -ASDCP::MXF::CryptographicFramework::WriteToTLVSet(TLVWriter& TLVSet) +CryptographicFramework::WriteToTLVSet(TLVWriter& TLVSet) { Result_t result = InterchangeObject::WriteToTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(CryptographicFramework, ContextSR)); @@ -1488,7 +1433,7 @@ ASDCP::MXF::CryptographicFramework::WriteToTLVSet(TLVWriter& TLVSet) // void -ASDCP::MXF::CryptographicFramework::Dump(FILE* stream) +CryptographicFramework::Dump(FILE* stream) { char identbuf[IdentBufferLen]; *identbuf = 0; @@ -1497,12 +1442,12 @@ ASDCP::MXF::CryptographicFramework::Dump(FILE* stream) stream = stderr; InterchangeObject::Dump(stream); - fprintf(stream, " %22s = %s\n", "ContextSR", ContextSR.ToString(identbuf)); + fprintf(stream, " %22s = %s\n", "ContextSR", ContextSR.EncodeString(identbuf, IdentBufferLen)); } // ASDCP::Result_t -ASDCP::MXF::CryptographicFramework::InitFromBuffer(const byte_t* p, ui32_t l) +CryptographicFramework::InitFromBuffer(const byte_t* p, ui32_t l) { m_Typeinfo = &Dict::Type(MDD_CryptographicFramework); return InterchangeObject::InitFromBuffer(p, l); @@ -1510,7 +1455,7 @@ ASDCP::MXF::CryptographicFramework::InitFromBuffer(const byte_t* p, ui32_t l) // ASDCP::Result_t -ASDCP::MXF::CryptographicFramework::WriteToBuffer(ASDCP::FrameBuffer& Buffer) +CryptographicFramework::WriteToBuffer(ASDCP::FrameBuffer& Buffer) { m_Typeinfo = &Dict::Type(MDD_CryptographicFramework); return InterchangeObject::WriteToBuffer(Buffer); @@ -1521,7 +1466,7 @@ ASDCP::MXF::CryptographicFramework::WriteToBuffer(ASDCP::FrameBuffer& Buffer) // ASDCP::Result_t -ASDCP::MXF::CryptographicContext::InitFromTLVSet(TLVReader& TLVSet) +CryptographicContext::InitFromTLVSet(TLVReader& TLVSet) { Result_t result = InterchangeObject::InitFromTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(CryptographicContext, ContextID)); @@ -1534,7 +1479,7 @@ ASDCP::MXF::CryptographicContext::InitFromTLVSet(TLVReader& TLVSet) // ASDCP::Result_t -ASDCP::MXF::CryptographicContext::WriteToTLVSet(TLVWriter& TLVSet) +CryptographicContext::WriteToTLVSet(TLVWriter& TLVSet) { Result_t result = InterchangeObject::WriteToTLVSet(TLVSet); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(CryptographicContext, ContextID)); @@ -1547,7 +1492,7 @@ ASDCP::MXF::CryptographicContext::WriteToTLVSet(TLVWriter& TLVSet) // void -ASDCP::MXF::CryptographicContext::Dump(FILE* stream) +CryptographicContext::Dump(FILE* stream) { char identbuf[IdentBufferLen]; *identbuf = 0; @@ -1556,16 +1501,16 @@ ASDCP::MXF::CryptographicContext::Dump(FILE* stream) stream = stderr; InterchangeObject::Dump(stream); - fprintf(stream, " %22s = %s\n", "ContextID", ContextID.ToString(identbuf)); - fprintf(stream, " %22s = %s\n", "SourceEssenceContainer", SourceEssenceContainer.ToString(identbuf)); - fprintf(stream, " %22s = %s\n", "CipherAlgorithm", CipherAlgorithm.ToString(identbuf)); - fprintf(stream, " %22s = %s\n", "MICAlgorithm", MICAlgorithm.ToString(identbuf)); - fprintf(stream, " %22s = %s\n", "CryptographicKeyID", CryptographicKeyID.ToString(identbuf)); + fprintf(stream, " %22s = %s\n", "ContextID", ContextID.EncodeString(identbuf, IdentBufferLen)); + fprintf(stream, " %22s = %s\n", "SourceEssenceContainer", SourceEssenceContainer.EncodeString(identbuf, IdentBufferLen)); + fprintf(stream, " %22s = %s\n", "CipherAlgorithm", CipherAlgorithm.EncodeString(identbuf, IdentBufferLen)); + fprintf(stream, " %22s = %s\n", "MICAlgorithm", MICAlgorithm.EncodeString(identbuf, IdentBufferLen)); + fprintf(stream, " %22s = %s\n", "CryptographicKeyID", CryptographicKeyID.EncodeString(identbuf, IdentBufferLen)); } // ASDCP::Result_t -ASDCP::MXF::CryptographicContext::InitFromBuffer(const byte_t* p, ui32_t l) +CryptographicContext::InitFromBuffer(const byte_t* p, ui32_t l) { m_Typeinfo = &Dict::Type(MDD_CryptographicContext); return InterchangeObject::InitFromBuffer(p, l); @@ -1573,12 +1518,225 @@ ASDCP::MXF::CryptographicContext::InitFromBuffer(const byte_t* p, ui32_t l) // ASDCP::Result_t -ASDCP::MXF::CryptographicContext::WriteToBuffer(ASDCP::FrameBuffer& Buffer) +CryptographicContext::WriteToBuffer(ASDCP::FrameBuffer& Buffer) { m_Typeinfo = &Dict::Type(MDD_CryptographicContext); return InterchangeObject::WriteToBuffer(Buffer); } +//------------------------------------------------------------------------------------------ +// GenericDataEssenceDescriptor + +// +ASDCP::Result_t +GenericDataEssenceDescriptor::InitFromTLVSet(TLVReader& TLVSet) +{ + Result_t result = FileDescriptor::InitFromTLVSet(TLVSet); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(GenericDataEssenceDescriptor, DataEssenceCoding)); + return result; +} + +// +ASDCP::Result_t +GenericDataEssenceDescriptor::WriteToTLVSet(TLVWriter& TLVSet) +{ + Result_t result = FileDescriptor::WriteToTLVSet(TLVSet); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(GenericDataEssenceDescriptor, DataEssenceCoding)); + return result; +} + +// +void +GenericDataEssenceDescriptor::Dump(FILE* stream) +{ + char identbuf[IdentBufferLen]; + *identbuf = 0; + + if ( stream == 0 ) + stream = stderr; + + FileDescriptor::Dump(stream); + fprintf(stream, " %22s = %s\n", "DataEssenceCoding", DataEssenceCoding.EncodeString(identbuf, IdentBufferLen)); +} + +// +ASDCP::Result_t +GenericDataEssenceDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) +{ + m_Typeinfo = &Dict::Type(MDD_GenericDataEssenceDescriptor); + return InterchangeObject::InitFromBuffer(p, l); +} + +// +ASDCP::Result_t +GenericDataEssenceDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) +{ + m_Typeinfo = &Dict::Type(MDD_GenericDataEssenceDescriptor); + return InterchangeObject::WriteToBuffer(Buffer); +} + +//------------------------------------------------------------------------------------------ +// TimedTextDescriptor + +// +ASDCP::Result_t +TimedTextDescriptor::InitFromTLVSet(TLVReader& TLVSet) +{ + Result_t result = GenericDataEssenceDescriptor::InitFromTLVSet(TLVSet); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(TimedTextDescriptor, ResourceID)); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(TimedTextDescriptor, UCSEncoding)); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(TimedTextDescriptor, NamespaceURI)); + return result; +} + +// +ASDCP::Result_t +TimedTextDescriptor::WriteToTLVSet(TLVWriter& TLVSet) +{ + Result_t result = GenericDataEssenceDescriptor::WriteToTLVSet(TLVSet); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(TimedTextDescriptor, ResourceID)); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(TimedTextDescriptor, UCSEncoding)); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(TimedTextDescriptor, NamespaceURI)); + return result; +} + +// +void +TimedTextDescriptor::Dump(FILE* stream) +{ + char identbuf[IdentBufferLen]; + *identbuf = 0; + + if ( stream == 0 ) + stream = stderr; + + GenericDataEssenceDescriptor::Dump(stream); + fprintf(stream, " %22s = %s\n", "ResourceID", ResourceID.EncodeString(identbuf, IdentBufferLen)); + fprintf(stream, " %22s = %s\n", "UCSEncoding", UCSEncoding.EncodeString(identbuf, IdentBufferLen)); + fprintf(stream, " %22s = %s\n", "NamespaceURI", NamespaceURI.EncodeString(identbuf, IdentBufferLen)); +} + +// +ASDCP::Result_t +TimedTextDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) +{ + m_Typeinfo = &Dict::Type(MDD_TimedTextDescriptor); + return InterchangeObject::InitFromBuffer(p, l); +} + +// +ASDCP::Result_t +TimedTextDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) +{ + m_Typeinfo = &Dict::Type(MDD_TimedTextDescriptor); + return InterchangeObject::WriteToBuffer(Buffer); +} + +//------------------------------------------------------------------------------------------ +// TimedTextResourceSubDescriptor + +// +ASDCP::Result_t +TimedTextResourceSubDescriptor::InitFromTLVSet(TLVReader& TLVSet) +{ + Result_t result = InterchangeObject::InitFromTLVSet(TLVSet); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(TimedTextResourceSubDescriptor, AncillaryResourceID)); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(TimedTextResourceSubDescriptor, MIMEMediaType)); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadUi32(OBJ_READ_ARGS(TimedTextResourceSubDescriptor, EssenceStreamID)); + return result; +} + +// +ASDCP::Result_t +TimedTextResourceSubDescriptor::WriteToTLVSet(TLVWriter& TLVSet) +{ + Result_t result = InterchangeObject::WriteToTLVSet(TLVSet); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(TimedTextResourceSubDescriptor, AncillaryResourceID)); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(TimedTextResourceSubDescriptor, MIMEMediaType)); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteUi32(OBJ_WRITE_ARGS(TimedTextResourceSubDescriptor, EssenceStreamID)); + return result; +} + +// +void +TimedTextResourceSubDescriptor::Dump(FILE* stream) +{ + char identbuf[IdentBufferLen]; + *identbuf = 0; + + if ( stream == 0 ) + stream = stderr; + + InterchangeObject::Dump(stream); + fprintf(stream, " %22s = %s\n", "AncillaryResourceID", AncillaryResourceID.EncodeString(identbuf, IdentBufferLen)); + fprintf(stream, " %22s = %s\n", "MIMEMediaType", MIMEMediaType.EncodeString(identbuf, IdentBufferLen)); + fprintf(stream, " %22s = %d\n", "EssenceStreamID", EssenceStreamID); +} + +// +ASDCP::Result_t +TimedTextResourceSubDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) +{ + m_Typeinfo = &Dict::Type(MDD_TimedTextResourceSubDescriptor); + return InterchangeObject::InitFromBuffer(p, l); +} + +// +ASDCP::Result_t +TimedTextResourceSubDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) +{ + m_Typeinfo = &Dict::Type(MDD_TimedTextResourceSubDescriptor); + return InterchangeObject::WriteToBuffer(Buffer); +} + +//------------------------------------------------------------------------------------------ +// StereoscopicPictureSubDescriptor + +// +ASDCP::Result_t +StereoscopicPictureSubDescriptor::InitFromTLVSet(TLVReader& TLVSet) +{ + Result_t result = InterchangeObject::InitFromTLVSet(TLVSet); + return result; +} + +// +ASDCP::Result_t +StereoscopicPictureSubDescriptor::WriteToTLVSet(TLVWriter& TLVSet) +{ + Result_t result = InterchangeObject::WriteToTLVSet(TLVSet); + return result; +} + +// +void +StereoscopicPictureSubDescriptor::Dump(FILE* stream) +{ + char identbuf[IdentBufferLen]; + *identbuf = 0; + + if ( stream == 0 ) + stream = stderr; + + InterchangeObject::Dump(stream); +} + +// +ASDCP::Result_t +StereoscopicPictureSubDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) +{ + m_Typeinfo = &Dict::Type(MDD_StereoscopicPictureSubDescriptor); + return InterchangeObject::InitFromBuffer(p, l); +} + +// +ASDCP::Result_t +StereoscopicPictureSubDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) +{ + m_Typeinfo = &Dict::Type(MDD_StereoscopicPictureSubDescriptor); + return InterchangeObject::WriteToBuffer(Buffer); +} + // -// end MXF.cpp +// end Metadata.cpp //