diff options
| -rwxr-xr-x | src/AS_DCP_PCM.cpp | 10 | ||||
| -rwxr-xr-x | src/Metadata.cpp | 2 |
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 ); } |
