summaryrefslogtreecommitdiff
path: root/src/AS_DCP_internal.h
diff options
context:
space:
mode:
authorjhurst <jhurst@cinecert.com>2018-03-25 22:54:20 +0000
committerjhurst <>2018-03-25 22:54:20 +0000
commitffc88e36d1b15a863bad6577dee7d59254edfa22 (patch)
treef46ee12919d9eb6690815eb01f48e3fae73ddfbb /src/AS_DCP_internal.h
parent40ecb821a29d1049e0a69149b20e552c7fbb0ae0 (diff)
o Fixed MinorVersion error (was "2", is now "3") when writing BodyPartition packs preceding partitions in AS-02 files.
o Fixed AS-DCP timed text writer, was creating DM Segment instead of SourceClip in the source package. o Changed SourcePackage timecode track start to 00:00:00:00 (was 01:00:00:00) o Fixed reference counting errors in asdcp.MXFWriter and asdcp.TimedTextWriter that were causing asdcp.MXFReader and asdcp.TimedTextReader (respectively) to remain allocated after all references had been deleted, thus leaking file handles and memory. o Fixed broken arg parser (missing format token in format string for "EssenceType" argument) in TimedTextWriter
Diffstat (limited to 'src/AS_DCP_internal.h')
-rwxr-xr-xsrc/AS_DCP_internal.h24
1 files changed, 15 insertions, 9 deletions
diff --git a/src/AS_DCP_internal.h b/src/AS_DCP_internal.h
index aaa9e60..aad500e 100755
--- a/src/AS_DCP_internal.h
+++ b/src/AS_DCP_internal.h
@@ -1,5 +1,5 @@
/*
-Copyright (c) 2004-2016, John Hurst
+Copyright (c) 2004-2018, John Hurst
All rights reserved.
Redistribution and use in source and binary forms, with or without
@@ -130,6 +130,13 @@ namespace ASDCP
MXFVersion_MAX
};
+ // version numbers from the MXF spec, to be written into files
+
+ ui8_t const MXF_ObjectModelVersion = 1;
+ ui8_t const MXF_2004_MinorVersion = 2;
+ ui8_t const MXF_2011_MinorVersion = 3;
+
+
//------------------------------------------------------------------------------------------
//
@@ -552,16 +559,16 @@ namespace ASDCP
if ( mxf_ver == MXFVersion_2004 )
{
- m_HeaderPart.MinorVersion = 2;
- m_HeaderPart.m_Preface->Version = 258;
- m_HeaderPart.m_Preface->ObjectModelVersion = 1;
+ m_HeaderPart.MinorVersion = MXF_2004_MinorVersion;
+ m_HeaderPart.m_Preface->Version = ((MXF_ObjectModelVersion < 8) | MXF_2004_MinorVersion);
+ m_HeaderPart.m_Preface->ObjectModelVersion = MXF_ObjectModelVersion;
}
else
{
assert(mxf_ver == MXFVersion_2011);
- m_HeaderPart.MinorVersion = 3;
- m_HeaderPart.m_Preface->Version = 259;
- m_HeaderPart.m_Preface->ObjectModelVersion = 1;
+ m_HeaderPart.MinorVersion = MXF_2011_MinorVersion;
+ m_HeaderPart.m_Preface->Version = ((MXF_ObjectModelVersion < 8) | MXF_2011_MinorVersion);
+ m_HeaderPart.m_Preface->ObjectModelVersion = MXF_ObjectModelVersion;
}
// Identification
@@ -658,8 +665,7 @@ namespace ASDCP
TrackSet<TimecodeComponent> FPTCTrack =
CreateTimecodeTrack<SourcePackage>(m_HeaderPart, *m_FilePackage,
- tc_edit_rate, TCFrameRate,
- ui64_C(3600) * TCFrameRate, m_Dict);
+ tc_edit_rate, TCFrameRate, 0, m_Dict);
FPTCTrack.Sequence->Duration.set_has_value();
m_DurationUpdateList.push_back(&(FPTCTrack.Sequence->Duration.get()));