summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjhurst <jhurst@cinecert.com>2007-06-14 06:12:13 +0000
committerjhurst <>2007-06-14 06:12:13 +0000
commitfe443bd90d915478994953b56836577a96ea4a28 (patch)
treecc756a826153ecf45ce8d53f5f6611c1412aecb1 /src
parentc8a8baa243132a938fe4bbfc06a7afe980aa07e6 (diff)
separated PackageUID from Timed Text Asset ID
Diffstat (limited to 'src')
-rwxr-xr-xsrc/AS_DCP_PCM.cpp3
-rw-r--r--src/AS_DCP_TimedText.cpp16
-rwxr-xr-xsrc/AS_DCP_internal.h2
-rw-r--r--src/MDD.cpp23
-rwxr-xr-xsrc/MDD.h21
-rwxr-xr-xsrc/Metadata.cpp9
-rwxr-xr-xsrc/Metadata.h3
-rwxr-xr-xsrc/h__Writer.cpp8
-rw-r--r--src/path-test.cpp2
9 files changed, 46 insertions, 41 deletions
diff --git a/src/AS_DCP_PCM.cpp b/src/AS_DCP_PCM.cpp
index 815de31..19ea3bb 100755
--- a/src/AS_DCP_PCM.cpp
+++ b/src/AS_DCP_PCM.cpp
@@ -160,7 +160,8 @@ ASDCP::PCM::MXFReader::h__Reader::OpenRead(const char* filename)
}
// check for sample/frame rate sanity
- if ( m_ADesc.SampleRate != EditRate_24
+ if ( ASDCP_SUCCESS(result)
+ && m_ADesc.SampleRate != EditRate_24
&& m_ADesc.SampleRate != EditRate_48
&& m_ADesc.SampleRate != EditRate_23_98 )
{
diff --git a/src/AS_DCP_TimedText.cpp b/src/AS_DCP_TimedText.cpp
index 5299dd1..84dd3ac 100644
--- a/src/AS_DCP_TimedText.cpp
+++ b/src/AS_DCP_TimedText.cpp
@@ -127,6 +127,7 @@ ASDCP::TimedText::MXFReader::h__Reader::MD_to_TimedText_TDesc(TimedText::TimedTe
TDesc.EditRate = TDescObj->SampleRate;
TDesc.ContainerDuration = TDescObj->ContainerDuration;
+ memcpy(TDesc.AssetID, TDescObj->AssetID.Value(), UUIDlen);
TDesc.NamespaceName = TDescObj->RootNamespaceName;
TDesc.EncodingName = TDescObj->UTFEncoding;
@@ -141,7 +142,7 @@ ASDCP::TimedText::MXFReader::h__Reader::MD_to_TimedText_TDesc(TimedText::TimedTe
if ( KM_SUCCESS(result) )
{
TimedTextResourceDescriptor TmpResource;
- memcpy(TmpResource.ResourceID, DescObject->ResourcePackageID.Value(), UUIDlen);
+ memcpy(TmpResource.ResourceID, DescObject->ResourceID.Value(), UUIDlen);
if ( DescObject->ResourceMIMEType.find("font/") != std::string::npos )
TmpResource.Type = MT_OPENTYPE;
@@ -153,7 +154,7 @@ ASDCP::TimedText::MXFReader::h__Reader::MD_to_TimedText_TDesc(TimedText::TimedTe
TmpResource.Type = MT_BIN;
TDesc.ResourceList.push_back(TmpResource);
- m_ResourceMap.insert(ResourceMap_t::value_type(DescObject->ResourcePackageID, *sdi));
+ m_ResourceMap.insert(ResourceMap_t::value_type(DescObject->ResourceID, *sdi));
}
else
{
@@ -185,9 +186,6 @@ 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;
}
@@ -429,6 +427,7 @@ ASDCP::TimedText::MXFWriter::h__Writer::TimedText_TDesc_to_MD(TimedText::TimedTe
TDescObj->SampleRate = TDesc.EditRate;
TDescObj->ContainerDuration = TDesc.ContainerDuration;
+ TDescObj->AssetID.Set(TDesc.AssetID);
TDescObj->RootNamespaceName = TDesc.NamespaceName;
TDescObj->UTFEncoding = TDesc.EncodingName;
@@ -469,7 +468,7 @@ ASDCP::TimedText::MXFWriter::h__Writer::SetSourceStream(ASDCP::TimedText::TimedT
{
DCTimedTextResourceDescriptor* resourceSubdescriptor = new DCTimedTextResourceDescriptor;
GenRandomValue(resourceSubdescriptor->InstanceUID);
- resourceSubdescriptor->ResourcePackageID.Set((*ri).ResourceID);
+ resourceSubdescriptor->ResourceID.Set((*ri).ResourceID);
resourceSubdescriptor->ResourceMIMEType = MIME2str((*ri).Type);
resourceSubdescriptor->ResourceSID = m_ResourceSID++;
m_EssenceSubDescriptorList.push_back((FileDescriptor*)resourceSubdescriptor);
@@ -480,12 +479,9 @@ 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, SourcePackageUMID);
+ UL(Dict::ul(MDD_PictureDataDef)), TIMED_TEXT_PACKAGE_LABEL);
AddEssenceDescriptor(UL(Dict::ul(MDD_DCTimedTextWrapping)));
diff --git a/src/AS_DCP_internal.h b/src/AS_DCP_internal.h
index 7242ef8..86ccc20 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 UMID& PackageUID);
+ const std::string& PackageLabel);
void AddEssenceDescriptor(const UL& WrappingUL);
Result_t CreateBodyPart(const MXF::Rational& EditRate, ui32_t BytesPerEditUnit = 0);
diff --git a/src/MDD.cpp b/src/MDD.cpp
index db43df0..0b50796 100644
--- a/src/MDD.cpp
+++ b/src/MDD.cpp
@@ -809,38 +809,41 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
{0}, false, "DCTimedTextDescriptor" },
{ { 0x06, 0x0e, 0x2b, 0x34, 0x00, 0x01, 0x01, 0x01, // 258
0x0d, 0x01, 0x03, 0x01, 0xfa, 0xce, 0x00, 0x03 },
- {0}, false, "DCTimedTextDescriptor_UTFEncoding" },
+ {0}, false, "DCTimedTextDescriptor_AssetID" },
{ { 0x06, 0x0e, 0x2b, 0x34, 0x00, 0x01, 0x01, 0x01, // 259
0x0d, 0x01, 0x03, 0x01, 0xfa, 0xce, 0x00, 0x04 },
- {0}, false, "DCTimedTextDescriptor_RootNamespaceName" },
+ {0}, false, "DCTimedTextDescriptor_UTFEncoding" },
{ { 0x06, 0x0e, 0x2b, 0x34, 0x00, 0x01, 0x01, 0x01, // 260
0x0d, 0x01, 0x03, 0x01, 0xfa, 0xce, 0x00, 0x05 },
- {0}, false, "DCTimedTextResourceDescriptor" },
+ {0}, false, "DCTimedTextDescriptor_RootNamespaceName" },
{ { 0x06, 0x0e, 0x2b, 0x34, 0x00, 0x01, 0x01, 0x01, // 261
0x0d, 0x01, 0x03, 0x01, 0xfa, 0xce, 0x00, 0x06 },
- {0}, false, "DCTimedTextResourceDescriptor_ResourcePackageID" },
+ {0}, false, "DCTimedTextResourceDescriptor" },
{ { 0x06, 0x0e, 0x2b, 0x34, 0x00, 0x01, 0x01, 0x01, // 262
0x0d, 0x01, 0x03, 0x01, 0xfa, 0xce, 0x00, 0x07 },
- {0}, false, "DCTimedTextResourceDescriptor_ResourceMIMEType" },
+ {0}, false, "DCTimedTextResourceDescriptor_ResourceID" },
{ { 0x06, 0x0e, 0x2b, 0x34, 0x00, 0x01, 0x01, 0x01, // 263
0x0d, 0x01, 0x03, 0x01, 0xfa, 0xce, 0x00, 0x08 },
+ {0}, false, "DCTimedTextResourceDescriptor_ResourceMIMEType" },
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x00, 0x01, 0x01, 0x01, // 264
+ 0x0d, 0x01, 0x03, 0x01, 0xfa, 0xce, 0x00, 0x09 },
{0}, false, "DCTimedTextResourceDescriptor_ResourceSID" },
- { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 264
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 265
0x06, 0x10, 0x10, 0x05, 0x01, 0x02, 0x11, 0x00 },
{0}, false, "GenericStreamPartition" },
- { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 265
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 266
0x04, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 },
{0x02, 0x01}, false, "DMSegment_DataDefinition" },
- { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 266
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 267
0x07, 0x02, 0x02, 0x01, 0x01, 0x03, 0x00, 0x00 },
{0x02, 0x02}, true, "DMSegment_Duration" },
- { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 267
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 268
0x01, 0x07, 0x01, 0x05, 0x00, 0x00, 0x00, 0x00 },
{0x61, 0x02}, false, "DMSegment_TrackIDList" },
{ {0}, {0}, false, 0 }
};
-const ui32_t s_MDD_Table_size = 268;
+const ui32_t s_MDD_Table_size = 269;
//
// end MDD.cpp
diff --git a/src/MDD.h b/src/MDD.h
index dec65cf..2f1bc34 100755
--- a/src/MDD.h
+++ b/src/MDD.h
@@ -293,16 +293,17 @@ namespace ASDCP {
MDD_DCTimedTextWrapping, // 255
MDD_DCTimedTextEssence, // 256
MDD_DCTimedTextDescriptor, // 257
- MDD_DCTimedTextDescriptor_UTFEncoding, // 258
- MDD_DCTimedTextDescriptor_RootNamespaceName, // 259
- MDD_DCTimedTextResourceDescriptor, // 260
- MDD_DCTimedTextResourceDescriptor_ResourcePackageID, // 261
- MDD_DCTimedTextResourceDescriptor_ResourceMIMEType, // 262
- MDD_DCTimedTextResourceDescriptor_ResourceSID, //263
- MDD_GenericStreamPartition, // 264
- MDD_DMSegment_DataDefinition, // 265
- MDD_DMSegment_Duration, // 266
- MDD_DMSegment_TrackIDList, // 267
+ MDD_DCTimedTextDescriptor_AssetID, // 258
+ MDD_DCTimedTextDescriptor_UTFEncoding, // 259
+ MDD_DCTimedTextDescriptor_RootNamespaceName, // 260
+ MDD_DCTimedTextResourceDescriptor, // 261
+ MDD_DCTimedTextResourceDescriptor_ResourceID, // 262
+ MDD_DCTimedTextResourceDescriptor_ResourceMIMEType, // 263
+ MDD_DCTimedTextResourceDescriptor_ResourceSID, //264
+ MDD_GenericStreamPartition, // 265
+ MDD_DMSegment_DataDefinition, // 266
+ MDD_DMSegment_Duration, // 267
+ MDD_DMSegment_TrackIDList, // 268
}; // enum MDD_t
} // namespaceASDCP
diff --git a/src/Metadata.cpp b/src/Metadata.cpp
index 9509926..7e6a5e1 100755
--- a/src/Metadata.cpp
+++ b/src/Metadata.cpp
@@ -1577,6 +1577,7 @@ ASDCP::Result_t
DCTimedTextDescriptor::InitFromTLVSet(TLVReader& TLVSet)
{
Result_t result = GenericDataEssenceDescriptor::InitFromTLVSet(TLVSet);
+ if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(DCTimedTextDescriptor, AssetID));
if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(DCTimedTextDescriptor, UTFEncoding));
if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(DCTimedTextDescriptor, RootNamespaceName));
return result;
@@ -1587,6 +1588,7 @@ ASDCP::Result_t
DCTimedTextDescriptor::WriteToTLVSet(TLVWriter& TLVSet)
{
Result_t result = GenericDataEssenceDescriptor::WriteToTLVSet(TLVSet);
+ if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(DCTimedTextDescriptor, AssetID));
if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(DCTimedTextDescriptor, UTFEncoding));
if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(DCTimedTextDescriptor, RootNamespaceName));
return result;
@@ -1603,6 +1605,7 @@ DCTimedTextDescriptor::Dump(FILE* stream)
stream = stderr;
GenericDataEssenceDescriptor::Dump(stream);
+ fprintf(stream, " %22s = %s\n", "AssetID", AssetID.EncodeString(identbuf, IdentBufferLen));
fprintf(stream, " %22s = %s\n", "UTFEncoding", UTFEncoding.EncodeString(identbuf, IdentBufferLen));
fprintf(stream, " %22s = %s\n", "RootNamespaceName", RootNamespaceName.EncodeString(identbuf, IdentBufferLen));
}
@@ -1631,7 +1634,7 @@ ASDCP::Result_t
DCTimedTextResourceDescriptor::InitFromTLVSet(TLVReader& TLVSet)
{
Result_t result = InterchangeObject::InitFromTLVSet(TLVSet);
- if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(DCTimedTextResourceDescriptor, ResourcePackageID));
+ if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(DCTimedTextResourceDescriptor, ResourceID));
if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(DCTimedTextResourceDescriptor, ResourceMIMEType));
if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadUi32(OBJ_READ_ARGS(DCTimedTextResourceDescriptor, ResourceSID));
return result;
@@ -1642,7 +1645,7 @@ ASDCP::Result_t
DCTimedTextResourceDescriptor::WriteToTLVSet(TLVWriter& TLVSet)
{
Result_t result = InterchangeObject::WriteToTLVSet(TLVSet);
- if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(DCTimedTextResourceDescriptor, ResourcePackageID));
+ if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(DCTimedTextResourceDescriptor, ResourceID));
if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(DCTimedTextResourceDescriptor, ResourceMIMEType));
if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteUi32(OBJ_WRITE_ARGS(DCTimedTextResourceDescriptor, ResourceSID));
return result;
@@ -1659,7 +1662,7 @@ DCTimedTextResourceDescriptor::Dump(FILE* stream)
stream = stderr;
InterchangeObject::Dump(stream);
- fprintf(stream, " %22s = %s\n", "ResourcePackageID", ResourcePackageID.EncodeString(identbuf, IdentBufferLen));
+ fprintf(stream, " %22s = %s\n", "ResourceID", ResourceID.EncodeString(identbuf, IdentBufferLen));
fprintf(stream, " %22s = %s\n", "ResourceMIMEType", ResourceMIMEType.EncodeString(identbuf, IdentBufferLen));
fprintf(stream, " %22s = %d\n", "ResourceSID", ResourceSID);
}
diff --git a/src/Metadata.h b/src/Metadata.h
index fbbe216..035dfd3 100755
--- a/src/Metadata.h
+++ b/src/Metadata.h
@@ -572,6 +572,7 @@ namespace ASDCP
ASDCP_NO_COPY_CONSTRUCT(DCTimedTextDescriptor);
public:
+ UUID AssetID;
UTF16String UTFEncoding;
UTF16String RootNamespaceName;
@@ -591,7 +592,7 @@ namespace ASDCP
ASDCP_NO_COPY_CONSTRUCT(DCTimedTextResourceDescriptor);
public:
- UUID ResourcePackageID;
+ UUID ResourceID;
UTF16String ResourceMIMEType;
ui32_t ResourceSID;
diff --git a/src/h__Writer.cpp b/src/h__Writer.cpp
index 76d657b..9f1d3fe 100755
--- a/src/h__Writer.cpp
+++ b/src/h__Writer.cpp
@@ -272,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 UMID& SourcePackageUMID)
+ const std::string& PackageLabel)
{
//
ContentStorage* Storage = new ContentStorage;
@@ -285,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 MaterialPackageUMID;
- // SourcePackageUMID.MakeUMID(0x0f, assetUUID);
+ UUID assetUUID(m_Info.AssetUUID);
+ UMID SourcePackageUMID, MaterialPackageUMID;
+ SourcePackageUMID.MakeUMID(0x0f, assetUUID);
MaterialPackageUMID.MakeUMID(0x0f); // unidentified essence
//
diff --git a/src/path-test.cpp b/src/path-test.cpp
index bc0af33..0c5f969 100644
--- a/src/path-test.cpp
+++ b/src/path-test.cpp
@@ -98,7 +98,7 @@ main(int argc, const char** argv)
cerr << "----------------------------------" << endl;
OutList.clear();
- FindInPaths(PathMatchRegex("^[A-J].*\.h$"), InList, OutList);
+ FindInPaths(PathMatchRegex("^[A-J].*\\.h$"), InList, OutList);
for ( pi = OutList.begin(); pi != OutList.end(); pi++ )
cerr << *pi << endl;