summaryrefslogtreecommitdiff
path: root/src/AS_DCP_internal.h
diff options
context:
space:
mode:
authormikey <mikey@cinecert.com>2014-06-05 16:33:46 +0000
committermikey <>2014-06-05 16:33:46 +0000
commit1f52a9a7e5a8895389e0daa098dabb960735ed13 (patch)
tree4b3454b4b117faab9d1f9c54640b86b7fa33bab3 /src/AS_DCP_internal.h
parent6de07d0a33aec56c8a650054b1b747768d696416 (diff)
version
Diffstat (limited to 'src/AS_DCP_internal.h')
-rwxr-xr-xsrc/AS_DCP_internal.h26
1 files changed, 25 insertions, 1 deletions
diff --git a/src/AS_DCP_internal.h b/src/AS_DCP_internal.h
index 24020e5..a37c731 100755
--- a/src/AS_DCP_internal.h
+++ b/src/AS_DCP_internal.h
@@ -60,7 +60,6 @@ extern MXF::RIP *g_RIP;
namespace ASDCP
{
- void default_md_object_init();
//
static std::vector<int>
@@ -597,13 +596,17 @@ namespace ASDCP
TrackSet<TimecodeComponent> MPTCTrack =
CreateTimecodeTrack<MaterialPackage>(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()));
TrackSet<SourceClip> MPTrack =
CreateTrackAndSequence<MaterialPackage, SourceClip>(m_HeaderPart, *m_MaterialPackage,
TrackName, clip_edit_rate, DataDefinition,
2, m_Dict);
+ MPTrack.Sequence->Duration.set_has_value();
m_DurationUpdateList.push_back(&(MPTrack.Sequence->Duration.get()));
MPTrack.Clip = new SourceClip(m_Dict);
@@ -612,6 +615,8 @@ namespace ASDCP
MPTrack.Clip->DataDefinition = DataDefinition;
MPTrack.Clip->SourcePackageID = SourcePackageUMID;
MPTrack.Clip->SourceTrackID = 2;
+
+ MPTrack.Clip->Duration.set_has_value();
m_DurationUpdateList.push_back(&(MPTrack.Clip->Duration.get()));
@@ -630,12 +635,18 @@ namespace ASDCP
CreateTimecodeTrack<SourcePackage>(m_HeaderPart, *m_FilePackage,
tc_edit_rate, TCFrameRate,
ui64_C(3600) * TCFrameRate, 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<SourceClip> FPTrack =
CreateTrackAndSequence<SourcePackage, SourceClip>(m_HeaderPart, *m_FilePackage,
TrackName, clip_edit_rate, DataDefinition,
2, m_Dict);
+
+ FPTrack.Sequence->Duration.set_has_value();
m_DurationUpdateList.push_back(&(FPTrack.Sequence->Duration.get()));
// Consult ST 379:2004 Sec. 6.3, "Element to track relationship" to see where "12" comes from.
@@ -649,6 +660,8 @@ namespace ASDCP
// for now we do not allow setting this value, so all files will be 'original'
FPTrack.Clip->SourceTrackID = 0;
FPTrack.Clip->SourcePackageID = NilUMID;
+
+ FPTrack.Clip->Duration.set_has_value();
m_DurationUpdateList.push_back(&(FPTrack.Clip->Duration.get()));
m_EssenceDescriptor->LinkedTrackID = FPTrack.Track->TrackID;
@@ -688,13 +701,17 @@ namespace ASDCP
TrackSet<TimecodeComponent> MPTCTrack =
CreateTimecodeTrack<MaterialPackage>(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<DMSegment> MPTrack =
CreateTrackAndSequence<MaterialPackage, DMSegment>(m_HeaderPart, *m_MaterialPackage,
TrackName, clip_edit_rate, DataDefinition,
2, m_Dict);
+ MPTrack.Sequence->Duration.set_has_value();
m_DurationUpdateList.push_back(&(MPTrack.Sequence->Duration.get()));
MPTrack.Clip = new DMSegment(m_Dict);
@@ -703,6 +720,7 @@ namespace ASDCP
MPTrack.Clip->DataDefinition = DataDefinition;
// MPTrack.Clip->SourcePackageID = SourcePackageUMID;
// MPTrack.Clip->SourceTrackID = 2;
+
m_DurationUpdateList.push_back(&(MPTrack.Clip->Duration));
@@ -721,13 +739,18 @@ namespace ASDCP
CreateTimecodeTrack<SourcePackage>(m_HeaderPart, *m_FilePackage,
clip_edit_rate, tc_frame_rate,
ui64_C(3600) * tc_frame_rate, 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<DMSegment> FPTrack =
CreateTrackAndSequence<SourcePackage, DMSegment>(m_HeaderPart, *m_FilePackage,
TrackName, clip_edit_rate, DataDefinition,
2, m_Dict);
+
+ FPTrack.Sequence->Duration.set_has_value();
m_DurationUpdateList.push_back(&(FPTrack.Sequence->Duration.get()));
FPTrack.Clip = new DMSegment(m_Dict);
@@ -737,6 +760,7 @@ namespace ASDCP
FPTrack.Clip->EventComment = "ST 429-5 Timed Text";
m_DurationUpdateList.push_back(&(FPTrack.Clip->Duration));
+
m_EssenceDescriptor->LinkedTrackID = FPTrack.Track->TrackID;
}