From c45055937fb80cf78384e942dea0a57b5bf4b14c Mon Sep 17 00:00:00 2001 From: milla Date: Wed, 26 May 2021 14:13:38 +0200 Subject: Added API functions in AS_02_IAB.h: AddDmsGenericPartUtf8Text for write and ReadGenericStreamPartitionPayload for read. These functions are a wrapper so that the writer and reader call their implementation of AddDmsGenericPartUtf8Text and ReadGenericStreamPartitionPayload respectively. In the case of the AddDmsGenericPartUtf8Text 2 new parameters have been added: trackDescription and dataDescription. --- src/h__Writer.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/h__Writer.cpp') diff --git a/src/h__Writer.cpp b/src/h__Writer.cpp index 5f836fe..52431a1 100755 --- a/src/h__Writer.cpp +++ b/src/h__Writer.cpp @@ -102,7 +102,9 @@ id_batch_contains(const Array& 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& durationUpdateList) { Sequence* Sequence_obj = 0; InterchangeObject* tmp_iobj = 0; @@ -157,13 +159,14 @@ 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(); header_part.m_Preface->DMSchemes.push_back(UL(Dict->ul(MDD_MXFTextBasedFramework))); } @@ -208,6 +211,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; } -- cgit v1.2.3 From 81619e49fa8df104f5a9baeb36aada42c4d247eb Mon Sep 17 00:00:00 2001 From: milla Date: Wed, 26 May 2021 14:15:30 +0200 Subject: Write sequence and segment duration when writing a track --- src/h__Writer.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/h__Writer.cpp') diff --git a/src/h__Writer.cpp b/src/h__Writer.cpp index 52431a1..b05749d 100755 --- a/src/h__Writer.cpp +++ b/src/h__Writer.cpp @@ -167,6 +167,7 @@ ASDCP::AddDmsTrackGenericPartUtf8Text(Kumu::FileWriter& file_writer, MXF::OP1aHe 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))); } @@ -177,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); -- cgit v1.2.3