summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjelkins <jelkins@cinecert.com>2020-10-07 11:39:43 -0700
committerjelkins <jelkins@cinecert.com>2020-10-07 11:39:43 -0700
commit064d75bd171c18a46430e0fe1b362c99159a24ba (patch)
tree86e176a018b0e102eb1ba40926b2c84e39bb4de5 /src
parent7b70b206a3bd767aad3a9a3c789cff9d0e9c38f2 (diff)
check values for LinkedTrackID.
Diffstat (limited to 'src')
-rwxr-xr-xsrc/AS_DCP_PCM.cpp10
-rwxr-xr-xsrc/Metadata.cpp2
2 files changed, 9 insertions, 3 deletions
diff --git a/src/AS_DCP_PCM.cpp b/src/AS_DCP_PCM.cpp
index e7fbff3..de8dbc0 100755
--- a/src/AS_DCP_PCM.cpp
+++ b/src/AS_DCP_PCM.cpp
@@ -51,7 +51,10 @@ ASDCP::PCM_ADesc_to_MD(PCM::AudioDescriptor& ADesc, MXF::WaveAudioDescriptor* AD
ADescObj->QuantizationBits = ADesc.QuantizationBits;
ADescObj->BlockAlign = ADesc.BlockAlign;
ADescObj->AvgBps = ADesc.AvgBps;
- ADescObj->LinkedTrackID = ADesc.LinkedTrackID;
+ if ( ! ADesc.LinkedTrackID.empty() )
+ {
+ ADescObj->LinkedTrackID = ADesc.LinkedTrackID;
+ }
ADescObj->ContainerDuration = ADesc.ContainerDuration;
ADescObj->ChannelAssignment.get().Reset();
@@ -98,7 +101,10 @@ ASDCP::MD_to_PCM_ADesc(MXF::WaveAudioDescriptor* ADescObj, PCM::AudioDescriptor&
ADesc.QuantizationBits = ADescObj->QuantizationBits;
ADesc.BlockAlign = ADescObj->BlockAlign;
ADesc.AvgBps = ADescObj->AvgBps;
- ADesc.LinkedTrackID = ADescObj->LinkedTrackID;
+ if ( ! ADescObj.LinkedTrackID.empty() )
+ {
+ ADesc.LinkedTrackID = ADescObj->LinkedTrackID;
+ }
assert(ADescObj->ContainerDuration <= 0xFFFFFFFFL);
ADesc.ContainerDuration = (ui32_t) ADescObj->ContainerDuration;
diff --git a/src/Metadata.cpp b/src/Metadata.cpp
index adaac11..3eedcac 100755
--- a/src/Metadata.cpp
+++ b/src/Metadata.cpp
@@ -1279,7 +1279,7 @@ FileDescriptor::InitFromTLVSet(TLVReader& TLVSet)
{
assert(m_Dict);
Result_t result = GenericDescriptor::InitFromTLVSet(TLVSet);
- if ( ASDCP_SUCCESS(result) ) {
+ if ( ASDCP_SUCCESS(result) && ( ! LinkedTrackID.empty() ) {
result = TLVSet.ReadUi32(OBJ_READ_ARGS_OPT(FileDescriptor, LinkedTrackID));
LinkedTrackID.set_has_value( result == RESULT_OK );
}