From 610e14eb3cc8d3a7b9223646695e900b0acde132 Mon Sep 17 00:00:00 2001 From: jhurst Date: Fri, 14 Feb 2020 11:46:52 -0800 Subject: Die timecode! Die! --- src/AS_DCP_internal.h | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) (limited to 'src/AS_DCP_internal.h') diff --git a/src/AS_DCP_internal.h b/src/AS_DCP_internal.h index 57ed006..a684ba5 100755 --- a/src/AS_DCP_internal.h +++ b/src/AS_DCP_internal.h @@ -675,7 +675,7 @@ namespace ASDCP // void AddSourceClip(const MXF::Rational& clip_edit_rate, - const MXF::Rational& tc_edit_rate, ui32_t TCFrameRate, + const MXF::Rational& tc_edit_rate, ui32_t tc_frame_rate, const std::string& TrackName, const UL& EssenceUL, const UL& DataDefinition, const std::string& PackageLabel) { @@ -706,14 +706,17 @@ namespace ASDCP m_HeaderPart.AddChildObject(m_MaterialPackage); m_ContentStorage->Packages.push_back(m_MaterialPackage->InstanceUID); - TrackSet MPTCTrack = - CreateTimecodeTrack(m_HeaderPart, *m_MaterialPackage, - tc_edit_rate, TCFrameRate, 0, m_Dict); - - MPTCTrack.Sequence->Duration.set_has_value(); - m_DurationUpdateList.push_back(&(MPTCTrack.Sequence->Duration.get())); - MPTCTrack.Clip->Duration.set_has_value(); - m_DurationUpdateList.push_back(&(MPTCTrack.Clip->Duration.get())); + if ( tc_frame_rate ) + { + TrackSet MPTCTrack = + CreateTimecodeTrack(m_HeaderPart, *m_MaterialPackage, + tc_edit_rate, tc_frame_rate, 0, m_Dict); + + MPTCTrack.Sequence->Duration.set_has_value(); + m_DurationUpdateList.push_back(&(MPTCTrack.Sequence->Duration.get())); + MPTCTrack.Clip->Duration.set_has_value(); + m_DurationUpdateList.push_back(&(MPTCTrack.Clip->Duration.get())); + } TrackSet MPTrack = CreateTrackAndSequence(m_HeaderPart, *m_MaterialPackage, @@ -744,14 +747,17 @@ namespace ASDCP m_HeaderPart.AddChildObject(m_FilePackage); m_ContentStorage->Packages.push_back(m_FilePackage->InstanceUID); - TrackSet FPTCTrack = - CreateTimecodeTrack(m_HeaderPart, *m_FilePackage, - tc_edit_rate, TCFrameRate, 0, m_Dict); - - FPTCTrack.Sequence->Duration.set_has_value(); - m_DurationUpdateList.push_back(&(FPTCTrack.Sequence->Duration.get())); - FPTCTrack.Clip->Duration.set_has_value(); - m_DurationUpdateList.push_back(&(FPTCTrack.Clip->Duration.get())); + if ( tc_frame_rate ) + { + TrackSet FPTCTrack = + CreateTimecodeTrack(m_HeaderPart, *m_FilePackage, + tc_edit_rate, tc_frame_rate, 0, m_Dict); + + FPTCTrack.Sequence->Duration.set_has_value(); + m_DurationUpdateList.push_back(&(FPTCTrack.Sequence->Duration.get())); + FPTCTrack.Clip->Duration.set_has_value(); + m_DurationUpdateList.push_back(&(FPTCTrack.Clip->Duration.get())); + } TrackSet FPTrack = CreateTrackAndSequence(m_HeaderPart, *m_FilePackage, -- cgit v1.2.3