summaryrefslogtreecommitdiff
path: root/src/MXF.h
diff options
context:
space:
mode:
authorjhurst <jhurst@cinecert.com>2014-01-02 23:29:22 +0000
committerjhurst <>2014-01-02 23:29:22 +0000
commit7ff636405a6bff37432e1c70123f0e6936186166 (patch)
tree87d858c6afd73fd21ca6cab5607cffcd1f7d01c3 /src/MXF.h
parent7f373b689817ee70fbe5d6a14cb0512b5260f77c (diff)
o Fixed missing-index-partion bugs for AS-02 files.
o Improved integration of ST 377-4 MCA concepts with ST 429-2 static labels. o Added new EssenceType_t values for IMF/AS-02 track files. o Added detection for AS-02 track files to ASDCP::EssenceType() o Changed lots of "const char*" to "const std::string&" in the APIs defined by KM_fileio.h and AS_DCP.h. o Fixed VBR Delta Segment entries to correctly flag progressive material. o Fixed PCM unwrapping bugs in as-02-unwrap.
Diffstat (limited to 'src/MXF.h')
-rwxr-xr-xsrc/MXF.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/MXF.h b/src/MXF.h
index 4af8993..6e6a47a 100755
--- a/src/MXF.h
+++ b/src/MXF.h
@@ -47,7 +47,7 @@ namespace ASDCP
typedef ASDCP::MXF::InterchangeObject* (*MXFObjectFactory_t)(const Dictionary*&);
//
- void SetObjectFactory(UL label, MXFObjectFactory_t factory);
+ void SetObjectFactory(const UL& label, MXFObjectFactory_t factory);
//
InterchangeObject* CreateObject(const Dictionary*& Dict, const UL& label);
@@ -303,6 +303,7 @@ namespace ASDCP
//
class IndexTableSegment : public InterchangeObject
{
+ IndexTableSegment();
ASDCP_NO_COPY_CONSTRUCT(IndexTableSegment);
public:
@@ -314,7 +315,7 @@ namespace ASDCP
ui8_t Slice;
ui32_t ElementData;
- DeltaEntry() : PosTableIndex(-1), Slice(0), ElementData(0) {}
+ DeltaEntry() : PosTableIndex(0), Slice(0), ElementData(0) {}
DeltaEntry(i8_t pos, ui8_t slice, ui32_t data) : PosTableIndex(pos), Slice(slice), ElementData(data) {}
inline bool HasValue() const { return true; }
ui32_t ArchiveLength() const { return sizeof(ui32_t) + 2; }
@@ -412,6 +413,7 @@ namespace ASDCP
ui32_t m_BytesPerEditUnit;
Rational m_EditRate;
ui32_t m_BodySID;
+ IndexTableSegment::DeltaEntry m_DefaultDeltaEntry;
ASDCP_NO_COPY_CONSTRUCT(OPAtomIndexFooter);
OPAtomIndexFooter();
@@ -435,6 +437,7 @@ namespace ASDCP
virtual Result_t Lookup(ui32_t frame_num, IndexTableSegment::IndexEntry&) const;
virtual void PushIndexEntry(const IndexTableSegment::IndexEntry&);
+ virtual void SetDeltaParams(const IndexTableSegment::DeltaEntry&);
virtual void SetIndexParamsCBR(IPrimerLookup* lookup, ui32_t size, const Rational& Rate);
virtual void SetIndexParamsVBR(IPrimerLookup* lookup, const Rational& Rate, Kumu::fpos_t offset);
};
@@ -457,7 +460,8 @@ namespace ASDCP
};
typedef std::map<const std::string, const UL, ci_comp> mca_label_map_t;
- bool decode_mca_string(const std::string& s, const mca_label_map_t& labels, const Dictionary& dict, const std::string& language, InterchangeObject_list_t&, ui32_t&);
+ bool decode_mca_string(const std::string& s, const mca_label_map_t& labels,
+ const Dictionary*& dict, const std::string& language, InterchangeObject_list_t&, ui32_t&);
//
class ASDCP_MCAConfigParser : public InterchangeObject_list_t