summaryrefslogtreecommitdiff
path: root/src/h__Writer.cpp
diff options
context:
space:
mode:
authorJohn Hurst <jhurst@cinecert.com>2021-08-26 20:30:08 -0700
committerGitHub <noreply@github.com>2021-08-26 20:30:08 -0700
commit68c1e325043dafc3c57b5cb849ee8c99bc607e66 (patch)
tree7c1f1e914277dc97101d2e37ef9504508d56399c /src/h__Writer.cpp
parent8bf9afd450ff50f0fdcdd7d8d9d78cb8b81f001b (diff)
parent81619e49fa8df104f5a9baeb36aada42c4d247eb (diff)
Merge pull request #3 from DolbyLaboratories/dolby/atmos_storage/asdcplib_integration/add_api_AddDmsGenericPartUtf8Text_ReadGenericStreamPartitionPayload
Merge dolby/atmos_storage/asdcplib_integration/add_api_AddDmsGenericPartUtf8Text_ReadGenericStreamPartitionPayload (contains also write seq and segment duration)) to master
Diffstat (limited to 'src/h__Writer.cpp')
-rwxr-xr-xsrc/h__Writer.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/h__Writer.cpp b/src/h__Writer.cpp
index 5f836fe..b05749d 100755
--- a/src/h__Writer.cpp
+++ b/src/h__Writer.cpp
@@ -102,7 +102,9 @@ id_batch_contains(const Array<Kumu::UUID>& batch, const Kumu::UUID& value)
//
Result_t
ASDCP::AddDmsTrackGenericPartUtf8Text(Kumu::FileWriter& file_writer, MXF::OP1aHeader& header_part,
- SourcePackage& source_package, MXF::RIP& rip, const Dictionary* Dict)
+ SourcePackage& source_package, MXF::RIP& rip, const Dictionary* Dict,
+ const std::string& trackDescription, const std::string& dataDescription,
+ std::list<ui64_t*>& durationUpdateList)
{
Sequence* Sequence_obj = 0;
InterchangeObject* tmp_iobj = 0;
@@ -157,13 +159,15 @@ ASDCP::AddDmsTrackGenericPartUtf8Text(Kumu::FileWriter& file_writer, MXF::OP1aHe
StaticTrack* static_track = new StaticTrack(Dict);
header_part.AddChildObject(static_track);
source_package.Tracks.push_back(static_track->InstanceUID);
- static_track->TrackName = "Descriptive Track";
+ static_track->TrackName = trackDescription;
static_track->TrackID = 4;
Sequence_obj = new Sequence(Dict);
header_part.AddChildObject(Sequence_obj);
static_track->Sequence = Sequence_obj->InstanceUID;
Sequence_obj->DataDefinition = UL(Dict->ul(MDD_DescriptiveMetaDataDef));
+ Sequence_obj->Duration.set_has_value();
+ durationUpdateList.push_back(&Sequence_obj->Duration.get());
header_part.m_Preface->DMSchemes.push_back(UL(Dict->ul(MDD_MXFTextBasedFramework)));
}
@@ -174,6 +178,11 @@ ASDCP::AddDmsTrackGenericPartUtf8Text(Kumu::FileWriter& file_writer, MXF::OP1aHe
Sequence_obj->StructuralComponents.push_back(Segment->InstanceUID);
Segment->EventComment = rp2057_static_track_label;
Segment->DataDefinition = UL(Dict->ul(MDD_DescriptiveMetaDataDef));
+ if (!Segment->Duration.empty())
+ {
+ durationUpdateList.push_back(&Segment->Duration.get());
+ }
+
//
TextBasedDMFramework *dmf_obj = new TextBasedDMFramework(Dict);
@@ -208,6 +217,7 @@ ASDCP::AddDmsTrackGenericPartUtf8Text(Kumu::FileWriter& file_writer, MXF::OP1aHe
gst_obj->InstanceUID = dmf_obj->ObjectRef;
gst_obj->GenericStreamSID = max_sid + 1;
gst_obj->PayloadSchemeID = UL(Dict->ul(MDD_MXFTextBasedFramework));
+ gst_obj->TextDataDescription = dataDescription;
return RESULT_OK;
}