summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjhurst <jhurst@cinecert.com>2007-06-12 05:28:29 +0000
committerjhurst <>2007-06-12 05:28:29 +0000
commit6c4db45a3a01b25d9ba3cd4c78210559d7131c60 (patch)
treeac652bf9e157fdc9174752aa8d1232083d49bdcb /src
parent3a3aa48a5a4f7324a9e4c2273d0747d7f58a2813 (diff)
fixed PackageUID
Diffstat (limited to 'src')
-rw-r--r--src/AS_DCP_TimedText.cpp16
-rwxr-xr-xsrc/AS_DCP_internal.h2
-rwxr-xr-xsrc/h__Writer.cpp10
3 files changed, 15 insertions, 13 deletions
diff --git a/src/AS_DCP_TimedText.cpp b/src/AS_DCP_TimedText.cpp
index 3e6108c..f5fcdb8 100644
--- a/src/AS_DCP_TimedText.cpp
+++ b/src/AS_DCP_TimedText.cpp
@@ -185,6 +185,9 @@ ASDCP::TimedText::MXFReader::h__Reader::OpenRead(char const* filename)
if( ASDCP_SUCCESS(result) )
result = InitInfo();
+ if( ASDCP_SUCCESS(result) )
+ memcpy(m_TDesc.AssetID, m_Info.AssetUUID, UUIDlen);
+
return result;
}
@@ -225,10 +228,9 @@ ASDCP::TimedText::MXFReader::h__Reader::ReadAncillaryResource(const byte_t* uuid
RIP::Pair TmpPair;
ui32_t sequence = 1;
- // look up the partition start in the RIP using the SID
- // count the distance in because this is the sequence value needed to
- // complete the HMAC
- // result = m_HeaderPart.m_RIP.GetPairBySID(DescObject->ResourceSID, TmpPair);
+ // Look up the partition start in the RIP using the SID.
+ // Count the sequence length in because this is the sequence
+ // value needed to complete the HMAC.
for ( pi = m_HeaderPart.m_RIP.PairArray.begin(); pi != m_HeaderPart.m_RIP.PairArray.end(); pi++, sequence++ )
{
if ( (*pi).BodySID == DescObject->ResourceSID )
@@ -415,7 +417,6 @@ ASDCP::Result_t
ASDCP::TimedText::MXFWriter::h__Writer::TimedText_TDesc_to_MD(TimedText::TimedTextDescriptor& TDesc)
{
assert(m_EssenceDescriptor);
- // assert(m_EssenceSubDescriptor);
MXF::DCTimedTextDescriptor* TDescObj = (MXF::DCTimedTextDescriptor*)m_EssenceDescriptor;
TDescObj->SampleRate = TDesc.EditRate;
@@ -471,9 +472,12 @@ ASDCP::TimedText::MXFWriter::h__Writer::SetSourceStream(ASDCP::TimedText::TimedT
if ( ASDCP_SUCCESS(result) )
{
+ UMID SourcePackageUMID;
+ SourcePackageUMID.MakeUMID(0x0f, m_TDesc.AssetID);
+
InitHeader();
AddDMSegment(m_TDesc.EditRate, 24, TIMED_TEXT_DEF_LABEL,
- UL(Dict::ul(MDD_PictureDataDef)), TIMED_TEXT_PACKAGE_LABEL);
+ UL(Dict::ul(MDD_PictureDataDef)), TIMED_TEXT_PACKAGE_LABEL, SourcePackageUMID);
AddEssenceDescriptor(UL(Dict::ul(MDD_DCTimedTextWrapping)));
diff --git a/src/AS_DCP_internal.h b/src/AS_DCP_internal.h
index ff86d40..7242ef8 100755
--- a/src/AS_DCP_internal.h
+++ b/src/AS_DCP_internal.h
@@ -195,7 +195,7 @@ namespace ASDCP
const std::string& PackageLabel);
void AddDMSegment(const MXF::Rational& EditRate, ui32_t TCFrameRate,
const std::string& TrackName, const UL& DataDefinition,
- const std::string& PackageLabel);
+ const std::string& PackageLabel, const UMID& PackageUID);
void AddEssenceDescriptor(const UL& WrappingUL);
Result_t CreateBodyPart(const MXF::Rational& EditRate, ui32_t BytesPerEditUnit = 0);
diff --git a/src/h__Writer.cpp b/src/h__Writer.cpp
index 1bada6b..76d657b 100755
--- a/src/h__Writer.cpp
+++ b/src/h__Writer.cpp
@@ -45,8 +45,6 @@ using namespace ASDCP::MXF;
//
ASDCP::h__Writer::h__Writer() :
m_HeaderSize(0), m_EssenceStart(0),
- // m_MaterialPackage(0), m_MPTCSequence(0), m_MPTimecode(0), m_MPClSequence(0), m_MPClip(0),
- // m_FilePackage(0), m_FPTCSequence(0), m_FPTimecode(0), m_FPClSequence(0), m_FPClip(0),
m_EssenceDescriptor(0), m_FramesWritten(0), m_StreamOffset(0)
{
}
@@ -274,7 +272,7 @@ ASDCP::h__Writer::AddSourceClip(const MXF::Rational& EditRate, ui32_t TCFrameRat
void
ASDCP::h__Writer::AddDMSegment(const MXF::Rational& EditRate, ui32_t TCFrameRate,
const std::string& TrackName, const UL& DataDefinition,
- const std::string& PackageLabel)
+ const std::string& PackageLabel, const UMID& SourcePackageUMID)
{
//
ContentStorage* Storage = new ContentStorage;
@@ -287,9 +285,9 @@ ASDCP::h__Writer::AddDMSegment(const MXF::Rational& EditRate, ui32_t TCFrameRate
ECD->IndexSID = 129;
ECD->BodySID = 1;
- UUID assetUUID(m_Info.AssetUUID);
- UMID SourcePackageUMID, MaterialPackageUMID;
- SourcePackageUMID.MakeUMID(0x0f, assetUUID);
+ // UUID assetUUID(m_Info.AssetUUID);
+ UMID MaterialPackageUMID;
+ // SourcePackageUMID.MakeUMID(0x0f, assetUUID);
MaterialPackageUMID.MakeUMID(0x0f); // unidentified essence
//