diff options
Diffstat (limited to 'src/AS_DCP_PCM.cpp')
| -rwxr-xr-x | src/AS_DCP_PCM.cpp | 14 |
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() ) |
