diff options
| author | jhurst <jhurst@cinecert.com> | 2018-03-25 22:54:20 +0000 |
|---|---|---|
| committer | jhurst <> | 2018-03-25 22:54:20 +0000 |
| commit | ffc88e36d1b15a863bad6577dee7d59254edfa22 (patch) | |
| tree | f46ee12919d9eb6690815eb01f48e3fae73ddfbb /src/AS_DCP_internal.h | |
| parent | 40ecb821a29d1049e0a69149b20e552c7fbb0ae0 (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-x | src/AS_DCP_internal.h | 24 |
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())); |
