summaryrefslogtreecommitdiff
path: root/src/AS_DCP_DCData.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/AS_DCP_DCData.cpp')
-rw-r--r--src/AS_DCP_DCData.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/AS_DCP_DCData.cpp b/src/AS_DCP_DCData.cpp
index 245b46b..b957d6c 100644
--- a/src/AS_DCP_DCData.cpp
+++ b/src/AS_DCP_DCData.cpp
@@ -99,8 +99,11 @@ ASDCP::DCData::MXFReader::h__Reader::MD_to_DCData_DDesc(const MXF::DCDataDescrip
DCData::DCDataDescriptor& DDesc)
{
DDesc.EditRate = descriptor_object.SampleRate;
- assert(descriptor_object.ContainerDuration.const_get() <= 0xFFFFFFFFL);
- DDesc.ContainerDuration = static_cast<ui32_t>(descriptor_object.ContainerDuration.const_get());
+ if ( ! descriptor_object.ContainerDuration.empty() )
+ {
+ assert(descriptor_object.ContainerDuration.const_get() <= 0xFFFFFFFFL);
+ DDesc.ContainerDuration = static_cast<ui32_t>(descriptor_object.ContainerDuration.const_get());
+ }
memcpy(DDesc.DataEssenceCoding, descriptor_object.DataEssenceCoding.Value(), SMPTE_UL_LENGTH);
return RESULT_OK;
}
@@ -111,8 +114,11 @@ ASDCP::DCData::MXFReader::h__Reader::MD_to_DCData_DDesc(const MXF::PrivateDCData
DCData::DCDataDescriptor& DDesc)
{
DDesc.EditRate = descriptor_object.SampleRate;
- assert(descriptor_object.ContainerDuration.const_get() <= 0xFFFFFFFFL);
- DDesc.ContainerDuration = static_cast<ui32_t>(descriptor_object.ContainerDuration.const_get());
+ if ( ! descriptor_object.ContainerDuration.empty() )
+ {
+ assert(descriptor_object.ContainerDuration.const_get() <= 0xFFFFFFFFL);
+ DDesc.ContainerDuration = static_cast<ui32_t>(descriptor_object.ContainerDuration.const_get());
+ }
memcpy(DDesc.DataEssenceCoding, descriptor_object.DataEssenceCoding.Value(), SMPTE_UL_LENGTH);
return RESULT_OK;
}