diff options
| author | jelkins <jelkins@cinecert.com> | 2020-10-08 17:29:11 -0700 |
|---|---|---|
| committer | jelkins <jelkins@cinecert.com> | 2020-10-08 17:29:11 -0700 |
| commit | 1d4a906682d19207b0885d90f25fe3e5fd9bb844 (patch) | |
| tree | cd3d8574cef08f6e09227419c61a41a0bb43d982 /src/AS_DCP_DCData.cpp | |
| parent | ee40718aa383cb40beb67be317b3565c218d32c1 (diff) | |
check values for ContainerDuration.
Diffstat (limited to 'src/AS_DCP_DCData.cpp')
| -rw-r--r-- | src/AS_DCP_DCData.cpp | 14 |
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; } |
