diff options
| author | jhurst <jhurst@cinecert.com> | 2018-08-06 22:07:03 +0000 |
|---|---|---|
| committer | jhurst <> | 2018-08-06 22:07:03 +0000 |
| commit | f4061a21fffad4fdf8dbb2f193f0f0960b25421c (patch) | |
| tree | c66e09ce3c57e263690bc0c0f37d37e9a3aa75f8 /src/MXF.cpp | |
| parent | 38954bfe8dd72a817fb070c58327cd111b9bd282 (diff) | |
o Added support for SMPTE RDD 47 "ISXD Track File"
o Added generic support for SMPTE RP 2057 "Text-Based Metadata Carriage in MXF"
o Re-factored AS-02 frame-wrap index write to use a common implementation
o Re-factored support for SMPTE ST 410 to use a common implementation (affects
o AS-DCP and AS-02 timed-text MXF (SMPTE 429-5)
o Patched several ambiguous integer casts.
o Added new essence type identifiers ESS_AS02_ISXD and ESS_AS02_ACES
o Fixed a bug wherein the Generic Container data tarck clip was instead being
o written as a DM track
o Fixed UL values DCDataDescriptor and ContainerConstraintSubDescriptor to have
o a byte 6 value of 0x53 (Tag Set) instead of 0x07 (coding sentinel)
o Added UL values 492 - 511 to the dictionary
o Added ApplicationSchemes and ConformsToSpecifications to the Preface set
o Added default initializer to MXF::LineMapPair
o Added sets DescriptiveFramework, DescriptiveObject, TextBasedDMFramework,
o TextBasedObject, GenericStreamTextBasedSet and ISXDDataEssenceDescriptor
o Added ISXD support and options '-G', '-u' to as-02-wrap
o Added ISXD support and option '-g' to as-02-unwrap
Diffstat (limited to 'src/MXF.cpp')
| -rwxr-xr-x | src/MXF.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/MXF.cpp b/src/MXF.cpp index df53b21..1c2ae5c 100755 --- a/src/MXF.cpp +++ b/src/MXF.cpp @@ -608,6 +608,8 @@ ASDCP::MXF::Preface::Copy(const Preface& rhs) OperationalPattern = rhs.OperationalPattern; EssenceContainers = rhs.EssenceContainers; DMSchemes = rhs.DMSchemes; + ApplicationSchemes = rhs.ApplicationSchemes; + ConformsToSpecifications = rhs.ConformsToSpecifications; } // @@ -624,6 +626,16 @@ ASDCP::MXF::Preface::InitFromTLVSet(TLVReader& TLVSet) if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(Preface, OperationalPattern)); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(Preface, EssenceContainers)); if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(Preface, DMSchemes)); + if ( ASDCP_SUCCESS(result) ) + { + result = TLVSet.ReadObject(OBJ_READ_ARGS_OPT(Preface, ApplicationSchemes)); + ApplicationSchemes.set_has_value( result == RESULT_OK); + } + if ( ASDCP_SUCCESS(result) ) + { + result = TLVSet.ReadObject(OBJ_READ_ARGS_OPT(Preface, ConformsToSpecifications)); + ConformsToSpecifications.set_has_value( result == RESULT_OK); + } return result; } @@ -641,6 +653,14 @@ ASDCP::MXF::Preface::WriteToTLVSet(TLVWriter& TLVSet) if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(Preface, OperationalPattern)); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(Preface, EssenceContainers)); if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(Preface, DMSchemes)); + if ( ASDCP_SUCCESS(result) && !ApplicationSchemes.empty() ) + { + result = TLVSet.WriteObject(OBJ_WRITE_ARGS_OPT(Preface, ApplicationSchemes)); + } + if ( ASDCP_SUCCESS(result) && !ConformsToSpecifications.empty()) + { + result = TLVSet.WriteObject(OBJ_WRITE_ARGS_OPT(Preface, ConformsToSpecifications)); + } return result; } @@ -682,6 +702,14 @@ ASDCP::MXF::Preface::Dump(FILE* stream) fprintf(stream, " %22s = %s\n", "OperationalPattern", OperationalPattern.EncodeString(identbuf, IdentBufferLen)); fprintf(stream, " %22s:\n", "EssenceContainers"); EssenceContainers.Dump(stream); fprintf(stream, " %22s:\n", "DMSchemes"); DMSchemes.Dump(stream); + if ( ! ApplicationSchemes.empty() ) + { + fprintf(stream, " %22s:\n", "ApplicationSchemes"); ApplicationSchemes.get().Dump(stream); + } + if ( ! ConformsToSpecifications.empty() ) + { + fprintf(stream, " %22s:\n", "ConformsToSpecifications"); ConformsToSpecifications.get().Dump(stream); + } } //------------------------------------------------------------------------------------------ |
