summaryrefslogtreecommitdiff
path: root/src/Metadata.cpp
diff options
context:
space:
mode:
authorJohn Hurst <jhurst@cinecert.com>2021-05-20 16:52:29 -0700
committerGitHub <noreply@github.com>2021-05-20 16:52:29 -0700
commitface28d822719aa6028ffca21097225c2a94e4ca (patch)
tree9063c8d62dd0309632c69c86d00b77993efae615 /src/Metadata.cpp
parent7db1295803aa777fc9bfe3c0f1b06c75f183102e (diff)
parente5b0a7dbeaaa2b16ea63d7265ed7413f8de2df10 (diff)
Merge pull request #84 from cinecert/mxf_types_constructor
Dictionary reference refactor
Diffstat (limited to 'src/Metadata.cpp')
-rw-r--r--[-rwxr-xr-x]src/Metadata.cpp652
1 files changed, 501 insertions, 151 deletions
diff --git a/src/Metadata.cpp b/src/Metadata.cpp
index 9ca3d66..455ba2a 100755..100644
--- a/src/Metadata.cpp
+++ b/src/Metadata.cpp
@@ -1,5 +1,5 @@
/*
-Copyright (c) 2005-2017, John Hurst
+Copyright (c) 2005-2021, John Hurst
All rights reserved.
Redistribution and use in source and binary forms, with or without
@@ -40,59 +40,59 @@ const ui32_t kl_length = ASDCP::SMPTE_UL_LENGTH + ASDCP::MXF_BER_LENGTH;
//------------------------------------------------------------------------------------------
-static InterchangeObject* Preface_Factory(const Dictionary*& Dict) { return new Preface(Dict); }
-static InterchangeObject* IndexTableSegment_Factory(const Dictionary*& Dict) { return new IndexTableSegment(Dict); }
-
-static InterchangeObject* Identification_Factory(const Dictionary*& Dict) { return new Identification(Dict); }
-static InterchangeObject* ContentStorage_Factory(const Dictionary*& Dict) { return new ContentStorage(Dict); }
-static InterchangeObject* EssenceContainerData_Factory(const Dictionary*& Dict) { return new EssenceContainerData(Dict); }
-static InterchangeObject* MaterialPackage_Factory(const Dictionary*& Dict) { return new MaterialPackage(Dict); }
-static InterchangeObject* SourcePackage_Factory(const Dictionary*& Dict) { return new SourcePackage(Dict); }
-static InterchangeObject* StaticTrack_Factory(const Dictionary*& Dict) { return new StaticTrack(Dict); }
-static InterchangeObject* Track_Factory(const Dictionary*& Dict) { return new Track(Dict); }
-static InterchangeObject* Sequence_Factory(const Dictionary*& Dict) { return new Sequence(Dict); }
-static InterchangeObject* SourceClip_Factory(const Dictionary*& Dict) { return new SourceClip(Dict); }
-static InterchangeObject* TimecodeComponent_Factory(const Dictionary*& Dict) { return new TimecodeComponent(Dict); }
-static InterchangeObject* FileDescriptor_Factory(const Dictionary*& Dict) { return new FileDescriptor(Dict); }
-static InterchangeObject* GenericSoundEssenceDescriptor_Factory(const Dictionary*& Dict) { return new GenericSoundEssenceDescriptor(Dict); }
-static InterchangeObject* WaveAudioDescriptor_Factory(const Dictionary*& Dict) { return new WaveAudioDescriptor(Dict); }
-static InterchangeObject* GenericPictureEssenceDescriptor_Factory(const Dictionary*& Dict) { return new GenericPictureEssenceDescriptor(Dict); }
-static InterchangeObject* RGBAEssenceDescriptor_Factory(const Dictionary*& Dict) { return new RGBAEssenceDescriptor(Dict); }
-static InterchangeObject* JPEG2000PictureSubDescriptor_Factory(const Dictionary*& Dict) { return new JPEG2000PictureSubDescriptor(Dict); }
-static InterchangeObject* CDCIEssenceDescriptor_Factory(const Dictionary*& Dict) { return new CDCIEssenceDescriptor(Dict); }
-static InterchangeObject* MPEG2VideoDescriptor_Factory(const Dictionary*& Dict) { return new MPEG2VideoDescriptor(Dict); }
-static InterchangeObject* DMSegment_Factory(const Dictionary*& Dict) { return new DMSegment(Dict); }
-static InterchangeObject* CryptographicFramework_Factory(const Dictionary*& Dict) { return new CryptographicFramework(Dict); }
-static InterchangeObject* CryptographicContext_Factory(const Dictionary*& Dict) { return new CryptographicContext(Dict); }
-static InterchangeObject* DescriptiveFramework_Factory(const Dictionary*& Dict) { return new DescriptiveFramework(Dict); }
-static InterchangeObject* DescriptiveObject_Factory(const Dictionary*& Dict) { return new DescriptiveObject(Dict); }
-static InterchangeObject* GenericDataEssenceDescriptor_Factory(const Dictionary*& Dict) { return new GenericDataEssenceDescriptor(Dict); }
-static InterchangeObject* TimedTextDescriptor_Factory(const Dictionary*& Dict) { return new TimedTextDescriptor(Dict); }
-static InterchangeObject* TimedTextResourceSubDescriptor_Factory(const Dictionary*& Dict) { return new TimedTextResourceSubDescriptor(Dict); }
-static InterchangeObject* StereoscopicPictureSubDescriptor_Factory(const Dictionary*& Dict) { return new StereoscopicPictureSubDescriptor(Dict); }
-static InterchangeObject* ContainerConstraintsSubDescriptor_Factory(const Dictionary*& Dict) { return new ContainerConstraintsSubDescriptor(Dict); }
-static InterchangeObject* NetworkLocator_Factory(const Dictionary*& Dict) { return new NetworkLocator(Dict); }
-static InterchangeObject* MCALabelSubDescriptor_Factory(const Dictionary*& Dict) { return new MCALabelSubDescriptor(Dict); }
-static InterchangeObject* AudioChannelLabelSubDescriptor_Factory(const Dictionary*& Dict) { return new AudioChannelLabelSubDescriptor(Dict); }
-static InterchangeObject* SoundfieldGroupLabelSubDescriptor_Factory(const Dictionary*& Dict) { return new SoundfieldGroupLabelSubDescriptor(Dict); }
-static InterchangeObject* GroupOfSoundfieldGroupsLabelSubDescriptor_Factory(const Dictionary*& Dict) { return new GroupOfSoundfieldGroupsLabelSubDescriptor(Dict); }
-static InterchangeObject* DCDataDescriptor_Factory(const Dictionary*& Dict) { return new DCDataDescriptor(Dict); }
-static InterchangeObject* PrivateDCDataDescriptor_Factory(const Dictionary*& Dict) { return new PrivateDCDataDescriptor(Dict); }
-static InterchangeObject* DolbyAtmosSubDescriptor_Factory(const Dictionary*& Dict) { return new DolbyAtmosSubDescriptor(Dict); }
-static InterchangeObject* ACESPictureSubDescriptor_Factory(const Dictionary*& Dict) { return new ACESPictureSubDescriptor(Dict); }
-static InterchangeObject* TargetFrameSubDescriptor_Factory(const Dictionary*& Dict) { return new TargetFrameSubDescriptor(Dict); }
-static InterchangeObject* TextBasedDMFramework_Factory(const Dictionary*& Dict) { return new TextBasedDMFramework(Dict); }
-static InterchangeObject* TextBasedObject_Factory(const Dictionary*& Dict) { return new TextBasedObject(Dict); }
-static InterchangeObject* GenericStreamTextBasedSet_Factory(const Dictionary*& Dict) { return new GenericStreamTextBasedSet(Dict); }
-static InterchangeObject* ISXDDataEssenceDescriptor_Factory(const Dictionary*& Dict) { return new ISXDDataEssenceDescriptor(Dict); }
-static InterchangeObject* PHDRMetadataTrackSubDescriptor_Factory(const Dictionary*& Dict) { return new PHDRMetadataTrackSubDescriptor(Dict); }
-static InterchangeObject* PIMFDynamicMetadataDescriptor_Factory(const Dictionary*& Dict) { return new PIMFDynamicMetadataDescriptor(Dict); }
-static InterchangeObject* IABEssenceDescriptor_Factory(const Dictionary*& Dict) { return new IABEssenceDescriptor(Dict); }
-static InterchangeObject* IABSoundfieldLabelSubDescriptor_Factory(const Dictionary*& Dict) { return new IABSoundfieldLabelSubDescriptor(Dict); }
+static InterchangeObject* Preface_Factory(const Dictionary* Dict) { return new Preface(Dict); }
+static InterchangeObject* IndexTableSegment_Factory(const Dictionary* Dict) { return new IndexTableSegment(Dict); }
+
+static InterchangeObject* Identification_Factory(const Dictionary* Dict) { return new Identification(Dict); }
+static InterchangeObject* ContentStorage_Factory(const Dictionary* Dict) { return new ContentStorage(Dict); }
+static InterchangeObject* EssenceContainerData_Factory(const Dictionary* Dict) { return new EssenceContainerData(Dict); }
+static InterchangeObject* MaterialPackage_Factory(const Dictionary* Dict) { return new MaterialPackage(Dict); }
+static InterchangeObject* SourcePackage_Factory(const Dictionary* Dict) { return new SourcePackage(Dict); }
+static InterchangeObject* StaticTrack_Factory(const Dictionary* Dict) { return new StaticTrack(Dict); }
+static InterchangeObject* Track_Factory(const Dictionary* Dict) { return new Track(Dict); }
+static InterchangeObject* Sequence_Factory(const Dictionary* Dict) { return new Sequence(Dict); }
+static InterchangeObject* SourceClip_Factory(const Dictionary* Dict) { return new SourceClip(Dict); }
+static InterchangeObject* TimecodeComponent_Factory(const Dictionary* Dict) { return new TimecodeComponent(Dict); }
+static InterchangeObject* FileDescriptor_Factory(const Dictionary* Dict) { return new FileDescriptor(Dict); }
+static InterchangeObject* GenericSoundEssenceDescriptor_Factory(const Dictionary* Dict) { return new GenericSoundEssenceDescriptor(Dict); }
+static InterchangeObject* WaveAudioDescriptor_Factory(const Dictionary* Dict) { return new WaveAudioDescriptor(Dict); }
+static InterchangeObject* GenericPictureEssenceDescriptor_Factory(const Dictionary* Dict) { return new GenericPictureEssenceDescriptor(Dict); }
+static InterchangeObject* RGBAEssenceDescriptor_Factory(const Dictionary* Dict) { return new RGBAEssenceDescriptor(Dict); }
+static InterchangeObject* JPEG2000PictureSubDescriptor_Factory(const Dictionary* Dict) { return new JPEG2000PictureSubDescriptor(Dict); }
+static InterchangeObject* CDCIEssenceDescriptor_Factory(const Dictionary* Dict) { return new CDCIEssenceDescriptor(Dict); }
+static InterchangeObject* MPEG2VideoDescriptor_Factory(const Dictionary* Dict) { return new MPEG2VideoDescriptor(Dict); }
+static InterchangeObject* DMSegment_Factory(const Dictionary* Dict) { return new DMSegment(Dict); }
+static InterchangeObject* CryptographicFramework_Factory(const Dictionary* Dict) { return new CryptographicFramework(Dict); }
+static InterchangeObject* CryptographicContext_Factory(const Dictionary* Dict) { return new CryptographicContext(Dict); }
+static InterchangeObject* DescriptiveFramework_Factory(const Dictionary* Dict) { return new DescriptiveFramework(Dict); }
+static InterchangeObject* DescriptiveObject_Factory(const Dictionary* Dict) { return new DescriptiveObject(Dict); }
+static InterchangeObject* GenericDataEssenceDescriptor_Factory(const Dictionary* Dict) { return new GenericDataEssenceDescriptor(Dict); }
+static InterchangeObject* TimedTextDescriptor_Factory(const Dictionary* Dict) { return new TimedTextDescriptor(Dict); }
+static InterchangeObject* TimedTextResourceSubDescriptor_Factory(const Dictionary* Dict) { return new TimedTextResourceSubDescriptor(Dict); }
+static InterchangeObject* StereoscopicPictureSubDescriptor_Factory(const Dictionary* Dict) { return new StereoscopicPictureSubDescriptor(Dict); }
+static InterchangeObject* ContainerConstraintsSubDescriptor_Factory(const Dictionary* Dict) { return new ContainerConstraintsSubDescriptor(Dict); }
+static InterchangeObject* NetworkLocator_Factory(const Dictionary* Dict) { return new NetworkLocator(Dict); }
+static InterchangeObject* MCALabelSubDescriptor_Factory(const Dictionary* Dict) { return new MCALabelSubDescriptor(Dict); }
+static InterchangeObject* AudioChannelLabelSubDescriptor_Factory(const Dictionary* Dict) { return new AudioChannelLabelSubDescriptor(Dict); }
+static InterchangeObject* SoundfieldGroupLabelSubDescriptor_Factory(const Dictionary* Dict) { return new SoundfieldGroupLabelSubDescriptor(Dict); }
+static InterchangeObject* GroupOfSoundfieldGroupsLabelSubDescriptor_Factory(const Dictionary* Dict) { return new GroupOfSoundfieldGroupsLabelSubDescriptor(Dict); }
+static InterchangeObject* DCDataDescriptor_Factory(const Dictionary* Dict) { return new DCDataDescriptor(Dict); }
+static InterchangeObject* PrivateDCDataDescriptor_Factory(const Dictionary* Dict) { return new PrivateDCDataDescriptor(Dict); }
+static InterchangeObject* DolbyAtmosSubDescriptor_Factory(const Dictionary* Dict) { return new DolbyAtmosSubDescriptor(Dict); }
+static InterchangeObject* ACESPictureSubDescriptor_Factory(const Dictionary* Dict) { return new ACESPictureSubDescriptor(Dict); }
+static InterchangeObject* TargetFrameSubDescriptor_Factory(const Dictionary* Dict) { return new TargetFrameSubDescriptor(Dict); }
+static InterchangeObject* TextBasedDMFramework_Factory(const Dictionary* Dict) { return new TextBasedDMFramework(Dict); }
+static InterchangeObject* TextBasedObject_Factory(const Dictionary* Dict) { return new TextBasedObject(Dict); }
+static InterchangeObject* GenericStreamTextBasedSet_Factory(const Dictionary* Dict) { return new GenericStreamTextBasedSet(Dict); }
+static InterchangeObject* ISXDDataEssenceDescriptor_Factory(const Dictionary* Dict) { return new ISXDDataEssenceDescriptor(Dict); }
+static InterchangeObject* PHDRMetadataTrackSubDescriptor_Factory(const Dictionary* Dict) { return new PHDRMetadataTrackSubDescriptor(Dict); }
+static InterchangeObject* PIMFDynamicMetadataDescriptor_Factory(const Dictionary* Dict) { return new PIMFDynamicMetadataDescriptor(Dict); }
+static InterchangeObject* IABEssenceDescriptor_Factory(const Dictionary* Dict) { return new IABEssenceDescriptor(Dict); }
+static InterchangeObject* IABSoundfieldLabelSubDescriptor_Factory(const Dictionary* Dict) { return new IABSoundfieldLabelSubDescriptor(Dict); }
void
-ASDCP::MXF::Metadata_InitTypes(const Dictionary*& Dict)
+ASDCP::MXF::Metadata_InitTypes(const Dictionary* Dict)
{
assert(Dict);
SetObjectFactory(Dict->ul(MDD_Preface), Preface_Factory);
@@ -156,13 +156,13 @@ ASDCP::MXF::Metadata_InitTypes(const Dictionary*& Dict)
//
-Identification::Identification(const Dictionary*& d) : InterchangeObject(d), m_Dict(d)
+Identification::Identification(const Dictionary* d) : InterchangeObject(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_Identification);
}
-Identification::Identification(const Identification& rhs) : InterchangeObject(rhs.m_Dict), m_Dict(rhs.m_Dict)
+Identification::Identification(const Identification& rhs) : InterchangeObject(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_Identification);
@@ -226,6 +226,13 @@ Identification::Copy(const Identification& rhs)
}
//
+InterchangeObject*
+Identification::Clone() const
+{
+ return new Identification(*this);
+}
+
+//
void
Identification::Dump(FILE* stream)
{
@@ -268,13 +275,13 @@ Identification::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-ContentStorage::ContentStorage(const Dictionary*& d) : InterchangeObject(d), m_Dict(d)
+ContentStorage::ContentStorage(const Dictionary* d) : InterchangeObject(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_ContentStorage);
}
-ContentStorage::ContentStorage(const ContentStorage& rhs) : InterchangeObject(rhs.m_Dict), m_Dict(rhs.m_Dict)
+ContentStorage::ContentStorage(const ContentStorage& rhs) : InterchangeObject(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_ContentStorage);
@@ -314,6 +321,13 @@ ContentStorage::Copy(const ContentStorage& rhs)
}
//
+InterchangeObject*
+ContentStorage::Clone() const
+{
+ return new ContentStorage(*this);
+}
+
+//
void
ContentStorage::Dump(FILE* stream)
{
@@ -349,13 +363,13 @@ ContentStorage::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-EssenceContainerData::EssenceContainerData(const Dictionary*& d) : InterchangeObject(d), m_Dict(d), BodySID(0)
+EssenceContainerData::EssenceContainerData(const Dictionary* d) : InterchangeObject(d), BodySID(0)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_EssenceContainerData);
}
-EssenceContainerData::EssenceContainerData(const EssenceContainerData& rhs) : InterchangeObject(rhs.m_Dict), m_Dict(rhs.m_Dict)
+EssenceContainerData::EssenceContainerData(const EssenceContainerData& rhs) : InterchangeObject(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_EssenceContainerData);
@@ -401,6 +415,13 @@ EssenceContainerData::Copy(const EssenceContainerData& rhs)
}
//
+InterchangeObject*
+EssenceContainerData::Clone() const
+{
+ return new EssenceContainerData(*this);
+}
+
+//
void
EssenceContainerData::Dump(FILE* stream)
{
@@ -436,9 +457,9 @@ EssenceContainerData::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
// GenericPackage
//
-GenericPackage::GenericPackage(const Dictionary*& d) : InterchangeObject(d), m_Dict(d) {}
+GenericPackage::GenericPackage(const Dictionary* d) : InterchangeObject(d) {}
-GenericPackage::GenericPackage(const GenericPackage& rhs) : InterchangeObject(rhs.m_Dict), m_Dict(rhs.m_Dict)
+GenericPackage::GenericPackage(const GenericPackage& rhs) : InterchangeObject(rhs.m_Dict)
{
Copy(rhs);
}
@@ -488,6 +509,13 @@ GenericPackage::Copy(const GenericPackage& rhs)
}
//
+InterchangeObject*
+GenericPackage::Clone() const
+{
+ return new GenericPackage(*this);
+}
+
+//
void
GenericPackage::Dump(FILE* stream)
{
@@ -514,13 +542,13 @@ GenericPackage::Dump(FILE* stream)
//
-MaterialPackage::MaterialPackage(const Dictionary*& d) : GenericPackage(d), m_Dict(d)
+MaterialPackage::MaterialPackage(const Dictionary* d) : GenericPackage(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_MaterialPackage);
}
-MaterialPackage::MaterialPackage(const MaterialPackage& rhs) : GenericPackage(rhs.m_Dict), m_Dict(rhs.m_Dict)
+MaterialPackage::MaterialPackage(const MaterialPackage& rhs) : GenericPackage(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_MaterialPackage);
@@ -560,6 +588,13 @@ MaterialPackage::Copy(const MaterialPackage& rhs)
}
//
+InterchangeObject*
+MaterialPackage::Clone() const
+{
+ return new MaterialPackage(*this);
+}
+
+//
void
MaterialPackage::Dump(FILE* stream)
{
@@ -594,13 +629,13 @@ MaterialPackage::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-SourcePackage::SourcePackage(const Dictionary*& d) : GenericPackage(d), m_Dict(d)
+SourcePackage::SourcePackage(const Dictionary* d) : GenericPackage(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_SourcePackage);
}
-SourcePackage::SourcePackage(const SourcePackage& rhs) : GenericPackage(rhs.m_Dict), m_Dict(rhs.m_Dict)
+SourcePackage::SourcePackage(const SourcePackage& rhs) : GenericPackage(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_SourcePackage);
@@ -637,6 +672,13 @@ SourcePackage::Copy(const SourcePackage& rhs)
}
//
+InterchangeObject*
+SourcePackage::Clone() const
+{
+ return new SourcePackage(*this);
+}
+
+//
void
SourcePackage::Dump(FILE* stream)
{
@@ -668,9 +710,9 @@ SourcePackage::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
// GenericTrack
//
-GenericTrack::GenericTrack(const Dictionary*& d) : InterchangeObject(d), m_Dict(d), TrackID(0), TrackNumber(0) {}
+GenericTrack::GenericTrack(const Dictionary* d) : InterchangeObject(d), TrackID(0), TrackNumber(0) {}
-GenericTrack::GenericTrack(const GenericTrack& rhs) : InterchangeObject(rhs.m_Dict), m_Dict(rhs.m_Dict)
+GenericTrack::GenericTrack(const GenericTrack& rhs) : InterchangeObject(rhs.m_Dict)
{
Copy(rhs);
}
@@ -720,6 +762,13 @@ GenericTrack::Copy(const GenericTrack& rhs)
}
//
+InterchangeObject*
+GenericTrack::Clone() const
+{
+ return new GenericTrack(*this);
+}
+
+//
void
GenericTrack::Dump(FILE* stream)
{
@@ -746,13 +795,13 @@ GenericTrack::Dump(FILE* stream)
//
-StaticTrack::StaticTrack(const Dictionary*& d) : GenericTrack(d), m_Dict(d)
+StaticTrack::StaticTrack(const Dictionary* d) : GenericTrack(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_StaticTrack);
}
-StaticTrack::StaticTrack(const StaticTrack& rhs) : GenericTrack(rhs.m_Dict), m_Dict(rhs.m_Dict)
+StaticTrack::StaticTrack(const StaticTrack& rhs) : GenericTrack(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_StaticTrack);
@@ -786,6 +835,13 @@ StaticTrack::Copy(const StaticTrack& rhs)
}
//
+InterchangeObject*
+StaticTrack::Clone() const
+{
+ return new StaticTrack(*this);
+}
+
+//
void
StaticTrack::Dump(FILE* stream)
{
@@ -817,13 +873,13 @@ StaticTrack::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-Track::Track(const Dictionary*& d) : GenericTrack(d), m_Dict(d), Origin(0)
+Track::Track(const Dictionary* d) : GenericTrack(d), Origin(0)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_Track);
}
-Track::Track(const Track& rhs) : GenericTrack(rhs.m_Dict), m_Dict(rhs.m_Dict)
+Track::Track(const Track& rhs) : GenericTrack(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_Track);
@@ -863,6 +919,13 @@ Track::Copy(const Track& rhs)
}
//
+InterchangeObject*
+Track::Clone() const
+{
+ return new Track(*this);
+}
+
+//
void
Track::Dump(FILE* stream)
{
@@ -895,9 +958,9 @@ Track::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
// StructuralComponent
//
-StructuralComponent::StructuralComponent(const Dictionary*& d) : InterchangeObject(d), m_Dict(d) {}
+StructuralComponent::StructuralComponent(const Dictionary* d) : InterchangeObject(d) {}
-StructuralComponent::StructuralComponent(const StructuralComponent& rhs) : InterchangeObject(rhs.m_Dict), m_Dict(rhs.m_Dict)
+StructuralComponent::StructuralComponent(const StructuralComponent& rhs) : InterchangeObject(rhs.m_Dict)
{
Copy(rhs);
}
@@ -938,6 +1001,13 @@ StructuralComponent::Copy(const StructuralComponent& rhs)
}
//
+InterchangeObject*
+StructuralComponent::Clone() const
+{
+ return new StructuralComponent(*this);
+}
+
+//
void
StructuralComponent::Dump(FILE* stream)
{
@@ -960,13 +1030,13 @@ StructuralComponent::Dump(FILE* stream)
//
-Sequence::Sequence(const Dictionary*& d) : StructuralComponent(d), m_Dict(d)
+Sequence::Sequence(const Dictionary* d) : StructuralComponent(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_Sequence);
}
-Sequence::Sequence(const Sequence& rhs) : StructuralComponent(rhs.m_Dict), m_Dict(rhs.m_Dict)
+Sequence::Sequence(const Sequence& rhs) : StructuralComponent(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_Sequence);
@@ -1003,6 +1073,13 @@ Sequence::Copy(const Sequence& rhs)
}
//
+InterchangeObject*
+Sequence::Clone() const
+{
+ return new Sequence(*this);
+}
+
+//
void
Sequence::Dump(FILE* stream)
{
@@ -1036,13 +1113,13 @@ Sequence::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-SourceClip::SourceClip(const Dictionary*& d) : StructuralComponent(d), m_Dict(d), StartPosition(0), SourceTrackID(0)
+SourceClip::SourceClip(const Dictionary* d) : StructuralComponent(d), StartPosition(0), SourceTrackID(0)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_SourceClip);
}
-SourceClip::SourceClip(const SourceClip& rhs) : StructuralComponent(rhs.m_Dict), m_Dict(rhs.m_Dict)
+SourceClip::SourceClip(const SourceClip& rhs) : StructuralComponent(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_SourceClip);
@@ -1085,6 +1162,13 @@ SourceClip::Copy(const SourceClip& rhs)
}
//
+InterchangeObject*
+SourceClip::Clone() const
+{
+ return new SourceClip(*this);
+}
+
+//
void
SourceClip::Dump(FILE* stream)
{
@@ -1119,13 +1203,13 @@ SourceClip::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-TimecodeComponent::TimecodeComponent(const Dictionary*& d) : StructuralComponent(d), m_Dict(d), RoundedTimecodeBase(0), StartTimecode(0), DropFrame(0)
+TimecodeComponent::TimecodeComponent(const Dictionary* d) : StructuralComponent(d), RoundedTimecodeBase(0), StartTimecode(0), DropFrame(0)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_TimecodeComponent);
}
-TimecodeComponent::TimecodeComponent(const TimecodeComponent& rhs) : StructuralComponent(rhs.m_Dict), m_Dict(rhs.m_Dict)
+TimecodeComponent::TimecodeComponent(const TimecodeComponent& rhs) : StructuralComponent(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_TimecodeComponent);
@@ -1168,6 +1252,13 @@ TimecodeComponent::Copy(const TimecodeComponent& rhs)
}
//
+InterchangeObject*
+TimecodeComponent::Clone() const
+{
+ return new TimecodeComponent(*this);
+}
+
+//
void
TimecodeComponent::Dump(FILE* stream)
{
@@ -1201,9 +1292,9 @@ TimecodeComponent::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
// GenericDescriptor
//
-GenericDescriptor::GenericDescriptor(const Dictionary*& d) : InterchangeObject(d), m_Dict(d) {}
+GenericDescriptor::GenericDescriptor(const Dictionary* d) : InterchangeObject(d) {}
-GenericDescriptor::GenericDescriptor(const GenericDescriptor& rhs) : InterchangeObject(rhs.m_Dict), m_Dict(rhs.m_Dict)
+GenericDescriptor::GenericDescriptor(const GenericDescriptor& rhs) : InterchangeObject(rhs.m_Dict)
{
Copy(rhs);
}
@@ -1241,6 +1332,13 @@ GenericDescriptor::Copy(const GenericDescriptor& rhs)
}
//
+InterchangeObject*
+GenericDescriptor::Clone() const
+{
+ return new GenericDescriptor(*this);
+}
+
+//
void
GenericDescriptor::Dump(FILE* stream)
{
@@ -1263,13 +1361,13 @@ GenericDescriptor::Dump(FILE* stream)
//
-FileDescriptor::FileDescriptor(const Dictionary*& d) : GenericDescriptor(d), m_Dict(d)
+FileDescriptor::FileDescriptor(const Dictionary* d) : GenericDescriptor(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_FileDescriptor);
}
-FileDescriptor::FileDescriptor(const FileDescriptor& rhs) : GenericDescriptor(rhs.m_Dict), m_Dict(rhs.m_Dict)
+FileDescriptor::FileDescriptor(const FileDescriptor& rhs) : GenericDescriptor(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_FileDescriptor);
@@ -1327,6 +1425,13 @@ FileDescriptor::Copy(const FileDescriptor& rhs)
}
//
+InterchangeObject*
+FileDescriptor::Clone() const
+{
+ return new FileDescriptor(*this);
+}
+
+//
void
FileDescriptor::Dump(FILE* stream)
{
@@ -1369,13 +1474,13 @@ FileDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-GenericSoundEssenceDescriptor::GenericSoundEssenceDescriptor(const Dictionary*& d) : FileDescriptor(d), m_Dict(d), Locked(0), ChannelCount(0), QuantizationBits(0)
+GenericSoundEssenceDescriptor::GenericSoundEssenceDescriptor(const Dictionary* d) : FileDescriptor(d), Locked(0), ChannelCount(0), QuantizationBits(0)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_GenericSoundEssenceDescriptor);
}
-GenericSoundEssenceDescriptor::GenericSoundEssenceDescriptor(const GenericSoundEssenceDescriptor& rhs) : FileDescriptor(rhs.m_Dict), m_Dict(rhs.m_Dict)
+GenericSoundEssenceDescriptor::GenericSoundEssenceDescriptor(const GenericSoundEssenceDescriptor& rhs) : FileDescriptor(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_GenericSoundEssenceDescriptor);
@@ -1454,6 +1559,13 @@ GenericSoundEssenceDescriptor::Copy(const GenericSoundEssenceDescriptor& rhs)
}
//
+InterchangeObject*
+GenericSoundEssenceDescriptor::Clone() const
+{
+ return new GenericSoundEssenceDescriptor(*this);
+}
+
+//
void
GenericSoundEssenceDescriptor::Dump(FILE* stream)
{
@@ -1505,13 +1617,13 @@ GenericSoundEssenceDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-WaveAudioDescriptor::WaveAudioDescriptor(const Dictionary*& d) : GenericSoundEssenceDescriptor(d), m_Dict(d), BlockAlign(0), AvgBps(0)
+WaveAudioDescriptor::WaveAudioDescriptor(const Dictionary* d) : GenericSoundEssenceDescriptor(d), BlockAlign(0), AvgBps(0)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_WaveAudioDescriptor);
}
-WaveAudioDescriptor::WaveAudioDescriptor(const WaveAudioDescriptor& rhs) : GenericSoundEssenceDescriptor(rhs.m_Dict), m_Dict(rhs.m_Dict)
+WaveAudioDescriptor::WaveAudioDescriptor(const WaveAudioDescriptor& rhs) : GenericSoundEssenceDescriptor(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_WaveAudioDescriptor);
@@ -1563,6 +1675,13 @@ WaveAudioDescriptor::Copy(const WaveAudioDescriptor& rhs)
}
//
+InterchangeObject*
+WaveAudioDescriptor::Clone() const
+{
+ return new WaveAudioDescriptor(*this);
+}
+
+//
void
WaveAudioDescriptor::Dump(FILE* stream)
{
@@ -1602,13 +1721,13 @@ WaveAudioDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-GenericPictureEssenceDescriptor::GenericPictureEssenceDescriptor(const Dictionary*& d) : FileDescriptor(d), m_Dict(d), FrameLayout(0), StoredWidth(0), StoredHeight(0)
+GenericPictureEssenceDescriptor::GenericPictureEssenceDescriptor(const Dictionary* d) : FileDescriptor(d), FrameLayout(0), StoredWidth(0), StoredHeight(0)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_GenericPictureEssenceDescriptor);
}
-GenericPictureEssenceDescriptor::GenericPictureEssenceDescriptor(const GenericPictureEssenceDescriptor& rhs) : FileDescriptor(rhs.m_Dict), m_Dict(rhs.m_Dict)
+GenericPictureEssenceDescriptor::GenericPictureEssenceDescriptor(const GenericPictureEssenceDescriptor& rhs) : FileDescriptor(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_GenericPictureEssenceDescriptor);
@@ -1836,6 +1955,13 @@ GenericPictureEssenceDescriptor::Copy(const GenericPictureEssenceDescriptor& rhs
}
//
+InterchangeObject*
+GenericPictureEssenceDescriptor::Clone() const
+{
+ return new GenericPictureEssenceDescriptor(*this);
+}
+
+//
void
GenericPictureEssenceDescriptor::Dump(FILE* stream)
{
@@ -1963,13 +2089,13 @@ GenericPictureEssenceDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-RGBAEssenceDescriptor::RGBAEssenceDescriptor(const Dictionary*& d) : GenericPictureEssenceDescriptor(d), m_Dict(d)
+RGBAEssenceDescriptor::RGBAEssenceDescriptor(const Dictionary* d) : GenericPictureEssenceDescriptor(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_RGBAEssenceDescriptor);
}
-RGBAEssenceDescriptor::RGBAEssenceDescriptor(const RGBAEssenceDescriptor& rhs) : GenericPictureEssenceDescriptor(rhs.m_Dict), m_Dict(rhs.m_Dict)
+RGBAEssenceDescriptor::RGBAEssenceDescriptor(const RGBAEssenceDescriptor& rhs) : GenericPictureEssenceDescriptor(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_RGBAEssenceDescriptor);
@@ -2036,6 +2162,13 @@ RGBAEssenceDescriptor::Copy(const RGBAEssenceDescriptor& rhs)
}
//
+InterchangeObject*
+RGBAEssenceDescriptor::Clone() const
+{
+ return new RGBAEssenceDescriptor(*this);
+}
+
+//
void
RGBAEssenceDescriptor::Dump(FILE* stream)
{
@@ -2083,13 +2216,13 @@ RGBAEssenceDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-JPEG2000PictureSubDescriptor::JPEG2000PictureSubDescriptor(const Dictionary*& d) : InterchangeObject(d), m_Dict(d), Rsize(0), Xsize(0), Ysize(0), XOsize(0), YOsize(0), XTsize(0), YTsize(0), XTOsize(0), YTOsize(0), Csize(0)
+JPEG2000PictureSubDescriptor::JPEG2000PictureSubDescriptor(const Dictionary* d) : InterchangeObject(d), Rsize(0), Xsize(0), Ysize(0), XOsize(0), YOsize(0), XTsize(0), YTsize(0), XTOsize(0), YTOsize(0), Csize(0)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_JPEG2000PictureSubDescriptor);
}
-JPEG2000PictureSubDescriptor::JPEG2000PictureSubDescriptor(const JPEG2000PictureSubDescriptor& rhs) : InterchangeObject(rhs.m_Dict), m_Dict(rhs.m_Dict)
+JPEG2000PictureSubDescriptor::JPEG2000PictureSubDescriptor(const JPEG2000PictureSubDescriptor& rhs) : InterchangeObject(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_JPEG2000PictureSubDescriptor);
@@ -2195,6 +2328,13 @@ JPEG2000PictureSubDescriptor::Copy(const JPEG2000PictureSubDescriptor& rhs)
}
//
+InterchangeObject*
+JPEG2000PictureSubDescriptor::Clone() const
+{
+ return new JPEG2000PictureSubDescriptor(*this);
+}
+
+//
void
JPEG2000PictureSubDescriptor::Dump(FILE* stream)
{
@@ -2259,13 +2399,13 @@ JPEG2000PictureSubDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-CDCIEssenceDescriptor::CDCIEssenceDescriptor(const Dictionary*& d) : GenericPictureEssenceDescriptor(d), m_Dict(d), ComponentDepth(0), HorizontalSubsampling(0)
+CDCIEssenceDescriptor::CDCIEssenceDescriptor(const Dictionary* d) : GenericPictureEssenceDescriptor(d), ComponentDepth(0), HorizontalSubsampling(0)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_CDCIEssenceDescriptor);
}
-CDCIEssenceDescriptor::CDCIEssenceDescriptor(const CDCIEssenceDescriptor& rhs) : GenericPictureEssenceDescriptor(rhs.m_Dict), m_Dict(rhs.m_Dict)
+CDCIEssenceDescriptor::CDCIEssenceDescriptor(const CDCIEssenceDescriptor& rhs) : GenericPictureEssenceDescriptor(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_CDCIEssenceDescriptor);
@@ -2353,6 +2493,13 @@ CDCIEssenceDescriptor::Copy(const CDCIEssenceDescriptor& rhs)
}
//
+InterchangeObject*
+CDCIEssenceDescriptor::Clone() const
+{
+ return new CDCIEssenceDescriptor(*this);
+}
+
+//
void
CDCIEssenceDescriptor::Dump(FILE* stream)
{
@@ -2410,13 +2557,13 @@ CDCIEssenceDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-MPEG2VideoDescriptor::MPEG2VideoDescriptor(const Dictionary*& d) : CDCIEssenceDescriptor(d), m_Dict(d)
+MPEG2VideoDescriptor::MPEG2VideoDescriptor(const Dictionary* d) : CDCIEssenceDescriptor(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_MPEG2VideoDescriptor);
}
-MPEG2VideoDescriptor::MPEG2VideoDescriptor(const MPEG2VideoDescriptor& rhs) : CDCIEssenceDescriptor(rhs.m_Dict), m_Dict(rhs.m_Dict)
+MPEG2VideoDescriptor::MPEG2VideoDescriptor(const MPEG2VideoDescriptor& rhs) : CDCIEssenceDescriptor(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_MPEG2VideoDescriptor);
@@ -2510,6 +2657,13 @@ MPEG2VideoDescriptor::Copy(const MPEG2VideoDescriptor& rhs)
}
//
+InterchangeObject*
+MPEG2VideoDescriptor::Clone() const
+{
+ return new MPEG2VideoDescriptor(*this);
+}
+
+//
void
MPEG2VideoDescriptor::Dump(FILE* stream)
{
@@ -2571,13 +2725,13 @@ MPEG2VideoDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-DMSegment::DMSegment(const Dictionary*& d) : InterchangeObject(d), m_Dict(d)
+DMSegment::DMSegment(const Dictionary* d) : InterchangeObject(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_DMSegment);
}
-DMSegment::DMSegment(const DMSegment& rhs) : InterchangeObject(rhs.m_Dict), m_Dict(rhs.m_Dict)
+DMSegment::DMSegment(const DMSegment& rhs) : InterchangeObject(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_DMSegment);
@@ -2635,6 +2789,13 @@ DMSegment::Copy(const DMSegment& rhs)
}
//
+InterchangeObject*
+DMSegment::Clone() const
+{
+ return new DMSegment(*this);
+}
+
+//
void
DMSegment::Dump(FILE* stream)
{
@@ -2677,13 +2838,13 @@ DMSegment::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-CryptographicFramework::CryptographicFramework(const Dictionary*& d) : InterchangeObject(d), m_Dict(d)
+CryptographicFramework::CryptographicFramework(const Dictionary* d) : InterchangeObject(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_CryptographicFramework);
}
-CryptographicFramework::CryptographicFramework(const CryptographicFramework& rhs) : InterchangeObject(rhs.m_Dict), m_Dict(rhs.m_Dict)
+CryptographicFramework::CryptographicFramework(const CryptographicFramework& rhs) : InterchangeObject(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_CryptographicFramework);
@@ -2720,6 +2881,13 @@ CryptographicFramework::Copy(const CryptographicFramework& rhs)
}
//
+InterchangeObject*
+CryptographicFramework::Clone() const
+{
+ return new CryptographicFramework(*this);
+}
+
+//
void
CryptographicFramework::Dump(FILE* stream)
{
@@ -2752,13 +2920,13 @@ CryptographicFramework::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-CryptographicContext::CryptographicContext(const Dictionary*& d) : InterchangeObject(d), m_Dict(d)
+CryptographicContext::CryptographicContext(const Dictionary* d) : InterchangeObject(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_CryptographicContext);
}
-CryptographicContext::CryptographicContext(const CryptographicContext& rhs) : InterchangeObject(rhs.m_Dict), m_Dict(rhs.m_Dict)
+CryptographicContext::CryptographicContext(const CryptographicContext& rhs) : InterchangeObject(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_CryptographicContext);
@@ -2807,6 +2975,13 @@ CryptographicContext::Copy(const CryptographicContext& rhs)
}
//
+InterchangeObject*
+CryptographicContext::Clone() const
+{
+ return new CryptographicContext(*this);
+}
+
+//
void
CryptographicContext::Dump(FILE* stream)
{
@@ -2843,13 +3018,13 @@ CryptographicContext::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-DescriptiveFramework::DescriptiveFramework(const Dictionary*& d) : InterchangeObject(d), m_Dict(d)
+DescriptiveFramework::DescriptiveFramework(const Dictionary* d) : InterchangeObject(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_DescriptiveFramework);
}
-DescriptiveFramework::DescriptiveFramework(const DescriptiveFramework& rhs) : InterchangeObject(rhs.m_Dict), m_Dict(rhs.m_Dict)
+DescriptiveFramework::DescriptiveFramework(const DescriptiveFramework& rhs) : InterchangeObject(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_DescriptiveFramework);
@@ -2889,6 +3064,13 @@ DescriptiveFramework::Copy(const DescriptiveFramework& rhs)
}
//
+InterchangeObject*
+DescriptiveFramework::Clone() const
+{
+ return new DescriptiveFramework(*this);
+}
+
+//
void
DescriptiveFramework::Dump(FILE* stream)
{
@@ -2923,13 +3105,13 @@ DescriptiveFramework::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-DescriptiveObject::DescriptiveObject(const Dictionary*& d) : InterchangeObject(d), m_Dict(d)
+DescriptiveObject::DescriptiveObject(const Dictionary* d) : InterchangeObject(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_DescriptiveObject);
}
-DescriptiveObject::DescriptiveObject(const DescriptiveObject& rhs) : InterchangeObject(rhs.m_Dict), m_Dict(rhs.m_Dict)
+DescriptiveObject::DescriptiveObject(const DescriptiveObject& rhs) : InterchangeObject(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_DescriptiveObject);
@@ -2969,6 +3151,13 @@ DescriptiveObject::Copy(const DescriptiveObject& rhs)
}
//
+InterchangeObject*
+DescriptiveObject::Clone() const
+{
+ return new DescriptiveObject(*this);
+}
+
+//
void
DescriptiveObject::Dump(FILE* stream)
{
@@ -3003,13 +3192,13 @@ DescriptiveObject::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-GenericDataEssenceDescriptor::GenericDataEssenceDescriptor(const Dictionary*& d) : FileDescriptor(d), m_Dict(d)
+GenericDataEssenceDescriptor::GenericDataEssenceDescriptor(const Dictionary* d) : FileDescriptor(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_GenericDataEssenceDescriptor);
}
-GenericDataEssenceDescriptor::GenericDataEssenceDescriptor(const GenericDataEssenceDescriptor& rhs) : FileDescriptor(rhs.m_Dict), m_Dict(rhs.m_Dict)
+GenericDataEssenceDescriptor::GenericDataEssenceDescriptor(const GenericDataEssenceDescriptor& rhs) : FileDescriptor(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_GenericDataEssenceDescriptor);
@@ -3046,6 +3235,13 @@ GenericDataEssenceDescriptor::Copy(const GenericDataEssenceDescriptor& rhs)
}
//
+InterchangeObject*
+GenericDataEssenceDescriptor::Clone() const
+{
+ return new GenericDataEssenceDescriptor(*this);
+}
+
+//
void
GenericDataEssenceDescriptor::Dump(FILE* stream)
{
@@ -3078,13 +3274,13 @@ GenericDataEssenceDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-TimedTextDescriptor::TimedTextDescriptor(const Dictionary*& d) : GenericDataEssenceDescriptor(d), m_Dict(d)
+TimedTextDescriptor::TimedTextDescriptor(const Dictionary* d) : GenericDataEssenceDescriptor(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_TimedTextDescriptor);
}
-TimedTextDescriptor::TimedTextDescriptor(const TimedTextDescriptor& rhs) : GenericDataEssenceDescriptor(rhs.m_Dict), m_Dict(rhs.m_Dict)
+TimedTextDescriptor::TimedTextDescriptor(const TimedTextDescriptor& rhs) : GenericDataEssenceDescriptor(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_TimedTextDescriptor);
@@ -3151,6 +3347,13 @@ TimedTextDescriptor::Copy(const TimedTextDescriptor& rhs)
}
//
+InterchangeObject*
+TimedTextDescriptor::Clone() const
+{
+ return new TimedTextDescriptor(*this);
+}
+
+//
void
TimedTextDescriptor::Dump(FILE* stream)
{
@@ -3197,13 +3400,13 @@ TimedTextDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-TimedTextResourceSubDescriptor::TimedTextResourceSubDescriptor(const Dictionary*& d) : InterchangeObject(d), m_Dict(d), EssenceStreamID(0)
+TimedTextResourceSubDescriptor::TimedTextResourceSubDescriptor(const Dictionary* d) : InterchangeObject(d), EssenceStreamID(0)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_TimedTextResourceSubDescriptor);
}
-TimedTextResourceSubDescriptor::TimedTextResourceSubDescriptor(const TimedTextResourceSubDescriptor& rhs) : InterchangeObject(rhs.m_Dict), m_Dict(rhs.m_Dict)
+TimedTextResourceSubDescriptor::TimedTextResourceSubDescriptor(const TimedTextResourceSubDescriptor& rhs) : InterchangeObject(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_TimedTextResourceSubDescriptor);
@@ -3246,6 +3449,13 @@ TimedTextResourceSubDescriptor::Copy(const TimedTextResourceSubDescriptor& rhs)
}
//
+InterchangeObject*
+TimedTextResourceSubDescriptor::Clone() const
+{
+ return new TimedTextResourceSubDescriptor(*this);
+}
+
+//
void
TimedTextResourceSubDescriptor::Dump(FILE* stream)
{
@@ -3280,13 +3490,13 @@ TimedTextResourceSubDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-StereoscopicPictureSubDescriptor::StereoscopicPictureSubDescriptor(const Dictionary*& d) : InterchangeObject(d), m_Dict(d)
+StereoscopicPictureSubDescriptor::StereoscopicPictureSubDescriptor(const Dictionary* d) : InterchangeObject(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_StereoscopicPictureSubDescriptor);
}
-StereoscopicPictureSubDescriptor::StereoscopicPictureSubDescriptor(const StereoscopicPictureSubDescriptor& rhs) : InterchangeObject(rhs.m_Dict), m_Dict(rhs.m_Dict)
+StereoscopicPictureSubDescriptor::StereoscopicPictureSubDescriptor(const StereoscopicPictureSubDescriptor& rhs) : InterchangeObject(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_StereoscopicPictureSubDescriptor);
@@ -3320,6 +3530,13 @@ StereoscopicPictureSubDescriptor::Copy(const StereoscopicPictureSubDescriptor& r
}
//
+InterchangeObject*
+StereoscopicPictureSubDescriptor::Clone() const
+{
+ return new StereoscopicPictureSubDescriptor(*this);
+}
+
+//
void
StereoscopicPictureSubDescriptor::Dump(FILE* stream)
{
@@ -3351,13 +3568,13 @@ StereoscopicPictureSubDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-ContainerConstraintsSubDescriptor::ContainerConstraintsSubDescriptor(const Dictionary*& d) : InterchangeObject(d), m_Dict(d)
+ContainerConstraintsSubDescriptor::ContainerConstraintsSubDescriptor(const Dictionary* d) : InterchangeObject(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_ContainerConstraintsSubDescriptor);
}
-ContainerConstraintsSubDescriptor::ContainerConstraintsSubDescriptor(const ContainerConstraintsSubDescriptor& rhs) : InterchangeObject(rhs.m_Dict), m_Dict(rhs.m_Dict)
+ContainerConstraintsSubDescriptor::ContainerConstraintsSubDescriptor(const ContainerConstraintsSubDescriptor& rhs) : InterchangeObject(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_ContainerConstraintsSubDescriptor);
@@ -3391,6 +3608,13 @@ ContainerConstraintsSubDescriptor::Copy(const ContainerConstraintsSubDescriptor&
}
//
+InterchangeObject*
+ContainerConstraintsSubDescriptor::Clone() const
+{
+ return new ContainerConstraintsSubDescriptor(*this);
+}
+
+//
void
ContainerConstraintsSubDescriptor::Dump(FILE* stream)
{
@@ -3422,13 +3646,13 @@ ContainerConstraintsSubDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-NetworkLocator::NetworkLocator(const Dictionary*& d) : InterchangeObject(d), m_Dict(d)
+NetworkLocator::NetworkLocator(const Dictionary* d) : InterchangeObject(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_NetworkLocator);
}
-NetworkLocator::NetworkLocator(const NetworkLocator& rhs) : InterchangeObject(rhs.m_Dict), m_Dict(rhs.m_Dict)
+NetworkLocator::NetworkLocator(const NetworkLocator& rhs) : InterchangeObject(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_NetworkLocator);
@@ -3465,6 +3689,13 @@ NetworkLocator::Copy(const NetworkLocator& rhs)
}
//
+InterchangeObject*
+NetworkLocator::Clone() const
+{
+ return new NetworkLocator(*this);
+}
+
+//
void
NetworkLocator::Dump(FILE* stream)
{
@@ -3497,13 +3728,13 @@ NetworkLocator::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-MCALabelSubDescriptor::MCALabelSubDescriptor(const Dictionary*& d) : InterchangeObject(d), m_Dict(d)
+MCALabelSubDescriptor::MCALabelSubDescriptor(const Dictionary* d) : InterchangeObject(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_MCALabelSubDescriptor);
}
-MCALabelSubDescriptor::MCALabelSubDescriptor(const MCALabelSubDescriptor& rhs) : InterchangeObject(rhs.m_Dict), m_Dict(rhs.m_Dict)
+MCALabelSubDescriptor::MCALabelSubDescriptor(const MCALabelSubDescriptor& rhs) : InterchangeObject(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_MCALabelSubDescriptor);
@@ -3612,6 +3843,13 @@ MCALabelSubDescriptor::Copy(const MCALabelSubDescriptor& rhs)
}
//
+InterchangeObject*
+MCALabelSubDescriptor::Clone() const
+{
+ return new MCALabelSubDescriptor(*this);
+}
+
+//
void
MCALabelSubDescriptor::Dump(FILE* stream)
{
@@ -3679,13 +3917,13 @@ MCALabelSubDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-AudioChannelLabelSubDescriptor::AudioChannelLabelSubDescriptor(const Dictionary*& d) : MCALabelSubDescriptor(d), m_Dict(d)
+AudioChannelLabelSubDescriptor::AudioChannelLabelSubDescriptor(const Dictionary* d) : MCALabelSubDescriptor(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_AudioChannelLabelSubDescriptor);
}
-AudioChannelLabelSubDescriptor::AudioChannelLabelSubDescriptor(const AudioChannelLabelSubDescriptor& rhs) : MCALabelSubDescriptor(rhs.m_Dict), m_Dict(rhs.m_Dict)
+AudioChannelLabelSubDescriptor::AudioChannelLabelSubDescriptor(const AudioChannelLabelSubDescriptor& rhs) : MCALabelSubDescriptor(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_AudioChannelLabelSubDescriptor);
@@ -3725,6 +3963,13 @@ AudioChannelLabelSubDescriptor::Copy(const AudioChannelLabelSubDescriptor& rhs)
}
//
+InterchangeObject*
+AudioChannelLabelSubDescriptor::Clone() const
+{
+ return new AudioChannelLabelSubDescriptor(*this);
+}
+
+//
void
AudioChannelLabelSubDescriptor::Dump(FILE* stream)
{
@@ -3759,13 +4004,13 @@ AudioChannelLabelSubDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-SoundfieldGroupLabelSubDescriptor::SoundfieldGroupLabelSubDescriptor(const Dictionary*& d) : MCALabelSubDescriptor(d), m_Dict(d)
+SoundfieldGroupLabelSubDescriptor::SoundfieldGroupLabelSubDescriptor(const Dictionary* d) : MCALabelSubDescriptor(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_SoundfieldGroupLabelSubDescriptor);
}
-SoundfieldGroupLabelSubDescriptor::SoundfieldGroupLabelSubDescriptor(const SoundfieldGroupLabelSubDescriptor& rhs) : MCALabelSubDescriptor(rhs.m_Dict), m_Dict(rhs.m_Dict)
+SoundfieldGroupLabelSubDescriptor::SoundfieldGroupLabelSubDescriptor(const SoundfieldGroupLabelSubDescriptor& rhs) : MCALabelSubDescriptor(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_SoundfieldGroupLabelSubDescriptor);
@@ -3804,6 +4049,13 @@ SoundfieldGroupLabelSubDescriptor::Copy(const SoundfieldGroupLabelSubDescriptor&
}
//
+InterchangeObject*
+SoundfieldGroupLabelSubDescriptor::Clone() const
+{
+ return new SoundfieldGroupLabelSubDescriptor(*this);
+}
+
+//
void
SoundfieldGroupLabelSubDescriptor::Dump(FILE* stream)
{
@@ -3839,13 +4091,13 @@ SoundfieldGroupLabelSubDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-GroupOfSoundfieldGroupsLabelSubDescriptor::GroupOfSoundfieldGroupsLabelSubDescriptor(const Dictionary*& d) : MCALabelSubDescriptor(d), m_Dict(d)
+GroupOfSoundfieldGroupsLabelSubDescriptor::GroupOfSoundfieldGroupsLabelSubDescriptor(const Dictionary* d) : MCALabelSubDescriptor(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_GroupOfSoundfieldGroupsLabelSubDescriptor);
}
-GroupOfSoundfieldGroupsLabelSubDescriptor::GroupOfSoundfieldGroupsLabelSubDescriptor(const GroupOfSoundfieldGroupsLabelSubDescriptor& rhs) : MCALabelSubDescriptor(rhs.m_Dict), m_Dict(rhs.m_Dict)
+GroupOfSoundfieldGroupsLabelSubDescriptor::GroupOfSoundfieldGroupsLabelSubDescriptor(const GroupOfSoundfieldGroupsLabelSubDescriptor& rhs) : MCALabelSubDescriptor(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_GroupOfSoundfieldGroupsLabelSubDescriptor);
@@ -3879,6 +4131,13 @@ GroupOfSoundfieldGroupsLabelSubDescriptor::Copy(const GroupOfSoundfieldGroupsLab
}
//
+InterchangeObject*
+GroupOfSoundfieldGroupsLabelSubDescriptor::Clone() const
+{
+ return new GroupOfSoundfieldGroupsLabelSubDescriptor(*this);
+}
+
+//
void
GroupOfSoundfieldGroupsLabelSubDescriptor::Dump(FILE* stream)
{
@@ -3910,13 +4169,13 @@ GroupOfSoundfieldGroupsLabelSubDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buf
//
-DCDataDescriptor::DCDataDescriptor(const Dictionary*& d) : GenericDataEssenceDescriptor(d), m_Dict(d)
+DCDataDescriptor::DCDataDescriptor(const Dictionary* d) : GenericDataEssenceDescriptor(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_DCDataDescriptor);
}
-DCDataDescriptor::DCDataDescriptor(const DCDataDescriptor& rhs) : GenericDataEssenceDescriptor(rhs.m_Dict), m_Dict(rhs.m_Dict)
+DCDataDescriptor::DCDataDescriptor(const DCDataDescriptor& rhs) : GenericDataEssenceDescriptor(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_DCDataDescriptor);
@@ -3950,6 +4209,13 @@ DCDataDescriptor::Copy(const DCDataDescriptor& rhs)
}
//
+InterchangeObject*
+DCDataDescriptor::Clone() const
+{
+ return new DCDataDescriptor(*this);
+}
+
+//
void
DCDataDescriptor::Dump(FILE* stream)
{
@@ -3981,13 +4247,13 @@ DCDataDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-PrivateDCDataDescriptor::PrivateDCDataDescriptor(const Dictionary*& d) : GenericDataEssenceDescriptor(d), m_Dict(d)
+PrivateDCDataDescriptor::PrivateDCDataDescriptor(const Dictionary* d) : GenericDataEssenceDescriptor(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_PrivateDCDataDescriptor);
}
-PrivateDCDataDescriptor::PrivateDCDataDescriptor(const PrivateDCDataDescriptor& rhs) : GenericDataEssenceDescriptor(rhs.m_Dict), m_Dict(rhs.m_Dict)
+PrivateDCDataDescriptor::PrivateDCDataDescriptor(const PrivateDCDataDescriptor& rhs) : GenericDataEssenceDescriptor(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_PrivateDCDataDescriptor);
@@ -4021,6 +4287,13 @@ PrivateDCDataDescriptor::Copy(const PrivateDCDataDescriptor& rhs)
}
//
+InterchangeObject*
+PrivateDCDataDescriptor::Clone() const
+{
+ return new PrivateDCDataDescriptor(*this);
+}
+
+//
void
PrivateDCDataDescriptor::Dump(FILE* stream)
{
@@ -4052,13 +4325,13 @@ PrivateDCDataDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-DolbyAtmosSubDescriptor::DolbyAtmosSubDescriptor(const Dictionary*& d) : InterchangeObject(d), m_Dict(d), FirstFrame(0), MaxChannelCount(0), MaxObjectCount(0), AtmosVersion(0)
+DolbyAtmosSubDescriptor::DolbyAtmosSubDescriptor(const Dictionary* d) : InterchangeObject(d), FirstFrame(0), MaxChannelCount(0), MaxObjectCount(0), AtmosVersion(0)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_DolbyAtmosSubDescriptor);
}
-DolbyAtmosSubDescriptor::DolbyAtmosSubDescriptor(const DolbyAtmosSubDescriptor& rhs) : InterchangeObject(rhs.m_Dict), m_Dict(rhs.m_Dict)
+DolbyAtmosSubDescriptor::DolbyAtmosSubDescriptor(const DolbyAtmosSubDescriptor& rhs) : InterchangeObject(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_DolbyAtmosSubDescriptor);
@@ -4107,6 +4380,13 @@ DolbyAtmosSubDescriptor::Copy(const DolbyAtmosSubDescriptor& rhs)
}
//
+InterchangeObject*
+DolbyAtmosSubDescriptor::Clone() const
+{
+ return new DolbyAtmosSubDescriptor(*this);
+}
+
+//
void
DolbyAtmosSubDescriptor::Dump(FILE* stream)
{
@@ -4143,13 +4423,13 @@ DolbyAtmosSubDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-ACESPictureSubDescriptor::ACESPictureSubDescriptor(const Dictionary*& d) : InterchangeObject(d), m_Dict(d)
+ACESPictureSubDescriptor::ACESPictureSubDescriptor(const Dictionary* d) : InterchangeObject(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_ACESPictureSubDescriptor);
}
-ACESPictureSubDescriptor::ACESPictureSubDescriptor(const ACESPictureSubDescriptor& rhs) : InterchangeObject(rhs.m_Dict), m_Dict(rhs.m_Dict)
+ACESPictureSubDescriptor::ACESPictureSubDescriptor(const ACESPictureSubDescriptor& rhs) : InterchangeObject(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_ACESPictureSubDescriptor);
@@ -4213,6 +4493,13 @@ ACESPictureSubDescriptor::Copy(const ACESPictureSubDescriptor& rhs)
}
//
+InterchangeObject*
+ACESPictureSubDescriptor::Clone() const
+{
+ return new ACESPictureSubDescriptor(*this);
+}
+
+//
void
ACESPictureSubDescriptor::Dump(FILE* stream)
{
@@ -4259,13 +4546,13 @@ ACESPictureSubDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-TargetFrameSubDescriptor::TargetFrameSubDescriptor(const Dictionary*& d) : InterchangeObject(d), m_Dict(d), TargetFrameIndex(0), TargetFrameComponentMaxRef(0), TargetFrameComponentMinRef(0), TargetFrameEssenceStreamID(0)
+TargetFrameSubDescriptor::TargetFrameSubDescriptor(const Dictionary* d) : InterchangeObject(d), TargetFrameIndex(0), TargetFrameComponentMaxRef(0), TargetFrameComponentMinRef(0), TargetFrameEssenceStreamID(0)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_TargetFrameSubDescriptor);
}
-TargetFrameSubDescriptor::TargetFrameSubDescriptor(const TargetFrameSubDescriptor& rhs) : InterchangeObject(rhs.m_Dict), m_Dict(rhs.m_Dict)
+TargetFrameSubDescriptor::TargetFrameSubDescriptor(const TargetFrameSubDescriptor& rhs) : InterchangeObject(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_TargetFrameSubDescriptor);
@@ -4335,6 +4622,13 @@ TargetFrameSubDescriptor::Copy(const TargetFrameSubDescriptor& rhs)
}
//
+InterchangeObject*
+TargetFrameSubDescriptor::Clone() const
+{
+ return new TargetFrameSubDescriptor(*this);
+}
+
+//
void
TargetFrameSubDescriptor::Dump(FILE* stream)
{
@@ -4380,13 +4674,13 @@ TargetFrameSubDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-TextBasedDMFramework::TextBasedDMFramework(const Dictionary*& d) : DescriptiveFramework(d), m_Dict(d)
+TextBasedDMFramework::TextBasedDMFramework(const Dictionary* d) : DescriptiveFramework(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_TextBasedDMFramework);
}
-TextBasedDMFramework::TextBasedDMFramework(const TextBasedDMFramework& rhs) : DescriptiveFramework(rhs.m_Dict), m_Dict(rhs.m_Dict)
+TextBasedDMFramework::TextBasedDMFramework(const TextBasedDMFramework& rhs) : DescriptiveFramework(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_TextBasedDMFramework);
@@ -4426,6 +4720,13 @@ TextBasedDMFramework::Copy(const TextBasedDMFramework& rhs)
}
//
+InterchangeObject*
+TextBasedDMFramework::Clone() const
+{
+ return new TextBasedDMFramework(*this);
+}
+
+//
void
TextBasedDMFramework::Dump(FILE* stream)
{
@@ -4460,13 +4761,13 @@ TextBasedDMFramework::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-TextBasedObject::TextBasedObject(const Dictionary*& d) : DescriptiveObject(d), m_Dict(d)
+TextBasedObject::TextBasedObject(const Dictionary* d) : DescriptiveObject(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_TextBasedObject);
}
-TextBasedObject::TextBasedObject(const TextBasedObject& rhs) : DescriptiveObject(rhs.m_Dict), m_Dict(rhs.m_Dict)
+TextBasedObject::TextBasedObject(const TextBasedObject& rhs) : DescriptiveObject(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_TextBasedObject);
@@ -4515,6 +4816,13 @@ TextBasedObject::Copy(const TextBasedObject& rhs)
}
//
+InterchangeObject*
+TextBasedObject::Clone() const
+{
+ return new TextBasedObject(*this);
+}
+
+//
void
TextBasedObject::Dump(FILE* stream)
{
@@ -4552,13 +4860,13 @@ TextBasedObject::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-GenericStreamTextBasedSet::GenericStreamTextBasedSet(const Dictionary*& d) : TextBasedObject(d), m_Dict(d), GenericStreamSID(0)
+GenericStreamTextBasedSet::GenericStreamTextBasedSet(const Dictionary* d) : TextBasedObject(d), GenericStreamSID(0)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_GenericStreamTextBasedSet);
}
-GenericStreamTextBasedSet::GenericStreamTextBasedSet(const GenericStreamTextBasedSet& rhs) : TextBasedObject(rhs.m_Dict), m_Dict(rhs.m_Dict)
+GenericStreamTextBasedSet::GenericStreamTextBasedSet(const GenericStreamTextBasedSet& rhs) : TextBasedObject(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_GenericStreamTextBasedSet);
@@ -4595,6 +4903,13 @@ GenericStreamTextBasedSet::Copy(const GenericStreamTextBasedSet& rhs)
}
//
+InterchangeObject*
+GenericStreamTextBasedSet::Clone() const
+{
+ return new GenericStreamTextBasedSet(*this);
+}
+
+//
void
GenericStreamTextBasedSet::Dump(FILE* stream)
{
@@ -4627,13 +4942,13 @@ GenericStreamTextBasedSet::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-ISXDDataEssenceDescriptor::ISXDDataEssenceDescriptor(const Dictionary*& d) : GenericDataEssenceDescriptor(d), m_Dict(d)
+ISXDDataEssenceDescriptor::ISXDDataEssenceDescriptor(const Dictionary* d) : GenericDataEssenceDescriptor(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_ISXDDataEssenceDescriptor);
}
-ISXDDataEssenceDescriptor::ISXDDataEssenceDescriptor(const ISXDDataEssenceDescriptor& rhs) : GenericDataEssenceDescriptor(rhs.m_Dict), m_Dict(rhs.m_Dict)
+ISXDDataEssenceDescriptor::ISXDDataEssenceDescriptor(const ISXDDataEssenceDescriptor& rhs) : GenericDataEssenceDescriptor(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_ISXDDataEssenceDescriptor);
@@ -4670,6 +4985,13 @@ ISXDDataEssenceDescriptor::Copy(const ISXDDataEssenceDescriptor& rhs)
}
//
+InterchangeObject*
+ISXDDataEssenceDescriptor::Clone() const
+{
+ return new ISXDDataEssenceDescriptor(*this);
+}
+
+//
void
ISXDDataEssenceDescriptor::Dump(FILE* stream)
{
@@ -4702,13 +5024,13 @@ ISXDDataEssenceDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-PHDRMetadataTrackSubDescriptor::PHDRMetadataTrackSubDescriptor(const Dictionary*& d) : InterchangeObject(d), m_Dict(d), SourceTrackID(0), SimplePayloadSID(0)
+PHDRMetadataTrackSubDescriptor::PHDRMetadataTrackSubDescriptor(const Dictionary* d) : InterchangeObject(d), SourceTrackID(0), SimplePayloadSID(0)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_PHDRMetadataTrackSubDescriptor);
}
-PHDRMetadataTrackSubDescriptor::PHDRMetadataTrackSubDescriptor(const PHDRMetadataTrackSubDescriptor& rhs) : InterchangeObject(rhs.m_Dict), m_Dict(rhs.m_Dict)
+PHDRMetadataTrackSubDescriptor::PHDRMetadataTrackSubDescriptor(const PHDRMetadataTrackSubDescriptor& rhs) : InterchangeObject(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_PHDRMetadataTrackSubDescriptor);
@@ -4751,6 +5073,13 @@ PHDRMetadataTrackSubDescriptor::Copy(const PHDRMetadataTrackSubDescriptor& rhs)
}
//
+InterchangeObject*
+PHDRMetadataTrackSubDescriptor::Clone() const
+{
+ return new PHDRMetadataTrackSubDescriptor(*this);
+}
+
+//
void
PHDRMetadataTrackSubDescriptor::Dump(FILE* stream)
{
@@ -4785,13 +5114,13 @@ PHDRMetadataTrackSubDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-PIMFDynamicMetadataDescriptor::PIMFDynamicMetadataDescriptor(const Dictionary*& d) : GenericDataEssenceDescriptor(d), m_Dict(d), GlobalPayloadSID(0)
+PIMFDynamicMetadataDescriptor::PIMFDynamicMetadataDescriptor(const Dictionary* d) : GenericDataEssenceDescriptor(d), GlobalPayloadSID(0)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_PIMFDynamicMetadataDescriptor);
}
-PIMFDynamicMetadataDescriptor::PIMFDynamicMetadataDescriptor(const PIMFDynamicMetadataDescriptor& rhs) : GenericDataEssenceDescriptor(rhs.m_Dict), m_Dict(rhs.m_Dict)
+PIMFDynamicMetadataDescriptor::PIMFDynamicMetadataDescriptor(const PIMFDynamicMetadataDescriptor& rhs) : GenericDataEssenceDescriptor(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_PIMFDynamicMetadataDescriptor);
@@ -4828,6 +5157,13 @@ PIMFDynamicMetadataDescriptor::Copy(const PIMFDynamicMetadataDescriptor& rhs)
}
//
+InterchangeObject*
+PIMFDynamicMetadataDescriptor::Clone() const
+{
+ return new PIMFDynamicMetadataDescriptor(*this);
+}
+
+//
void
PIMFDynamicMetadataDescriptor::Dump(FILE* stream)
{
@@ -4860,13 +5196,13 @@ PIMFDynamicMetadataDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-IABEssenceDescriptor::IABEssenceDescriptor(const Dictionary*& d) : GenericSoundEssenceDescriptor(d), m_Dict(d)
+IABEssenceDescriptor::IABEssenceDescriptor(const Dictionary* d) : GenericSoundEssenceDescriptor(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_IABEssenceDescriptor);
}
-IABEssenceDescriptor::IABEssenceDescriptor(const IABEssenceDescriptor& rhs) : GenericSoundEssenceDescriptor(rhs.m_Dict), m_Dict(rhs.m_Dict)
+IABEssenceDescriptor::IABEssenceDescriptor(const IABEssenceDescriptor& rhs) : GenericSoundEssenceDescriptor(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_IABEssenceDescriptor);
@@ -4900,6 +5236,13 @@ IABEssenceDescriptor::Copy(const IABEssenceDescriptor& rhs)
}
//
+InterchangeObject*
+IABEssenceDescriptor::Clone() const
+{
+ return new IABEssenceDescriptor(*this);
+}
+
+//
void
IABEssenceDescriptor::Dump(FILE* stream)
{
@@ -4931,13 +5274,13 @@ IABEssenceDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer)
//
-IABSoundfieldLabelSubDescriptor::IABSoundfieldLabelSubDescriptor(const Dictionary*& d) : MCALabelSubDescriptor(d), m_Dict(d)
+IABSoundfieldLabelSubDescriptor::IABSoundfieldLabelSubDescriptor(const Dictionary* d) : MCALabelSubDescriptor(d)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_IABSoundfieldLabelSubDescriptor);
}
-IABSoundfieldLabelSubDescriptor::IABSoundfieldLabelSubDescriptor(const IABSoundfieldLabelSubDescriptor& rhs) : MCALabelSubDescriptor(rhs.m_Dict), m_Dict(rhs.m_Dict)
+IABSoundfieldLabelSubDescriptor::IABSoundfieldLabelSubDescriptor(const IABSoundfieldLabelSubDescriptor& rhs) : MCALabelSubDescriptor(rhs.m_Dict)
{
assert(m_Dict);
m_UL = m_Dict->ul(MDD_IABSoundfieldLabelSubDescriptor);
@@ -4971,6 +5314,13 @@ IABSoundfieldLabelSubDescriptor::Copy(const IABSoundfieldLabelSubDescriptor& rhs
}
//
+InterchangeObject*
+IABSoundfieldLabelSubDescriptor::Clone() const
+{
+ return new IABSoundfieldLabelSubDescriptor(*this);
+}
+
+//
void
IABSoundfieldLabelSubDescriptor::Dump(FILE* stream)
{