summaryrefslogtreecommitdiff
path: root/src/AS_DCP_PCM.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/AS_DCP_PCM.cpp')
-rwxr-xr-xsrc/AS_DCP_PCM.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/AS_DCP_PCM.cpp b/src/AS_DCP_PCM.cpp
index e7fbff3..6241d15 100755
--- a/src/AS_DCP_PCM.cpp
+++ b/src/AS_DCP_PCM.cpp
@@ -53,7 +53,6 @@ ASDCP::PCM_ADesc_to_MD(PCM::AudioDescriptor& ADesc, MXF::WaveAudioDescriptor* AD
ADescObj->AvgBps = ADesc.AvgBps;
ADescObj->LinkedTrackID = ADesc.LinkedTrackID;
ADescObj->ContainerDuration = ADesc.ContainerDuration;
-
ADescObj->ChannelAssignment.get().Reset();
switch ( ADesc.ChannelFormat )
@@ -98,10 +97,15 @@ 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;
- assert(ADescObj->ContainerDuration <= 0xFFFFFFFFL);
- ADesc.ContainerDuration = (ui32_t) ADescObj->ContainerDuration;
-
+ if ( ! ADescObj->LinkedTrackID.empty() )
+ {
+ ADesc.LinkedTrackID = ADescObj->LinkedTrackID;
+ }
+ if ( ! ADescObj->ContainerDuration.empty() )
+ {
+ assert(ADescObj->ContainerDuration <= 0xFFFFFFFFL);
+ ADesc.ContainerDuration = (ui32_t) ADescObj->ContainerDuration;
+ }
ADesc.ChannelFormat = PCM::CF_NONE;
if ( ! ADescObj->ChannelAssignment.empty() )