summaryrefslogtreecommitdiff
path: root/src/MXF.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/MXF.cpp')
-rwxr-xr-xsrc/MXF.cpp56
1 files changed, 34 insertions, 22 deletions
diff --git a/src/MXF.cpp b/src/MXF.cpp
index 3566c70..c961727 100755
--- a/src/MXF.cpp
+++ b/src/MXF.cpp
@@ -45,7 +45,7 @@ const ui32_t CBRIndexEntriesPerSegment = 5000;
//
ASDCP::Result_t
-ASDCP::MXF::SeekToRIP(const Kumu::FileReader& Reader)
+ASDCP::MXF::SeekToRIP(const Kumu::IFileReader& Reader)
{
Kumu::fpos_t end_pos;
@@ -118,7 +118,7 @@ ASDCP::MXF::RIP::GetPairBySID(ui32_t SID, PartitionPair& outPair) const
//
ASDCP::Result_t
-ASDCP::MXF::RIP::InitFromFile(const Kumu::FileReader& Reader)
+ASDCP::MXF::RIP::InitFromFile(const Kumu::IFileReader& Reader)
{
assert(m_Dict);
Result_t result = KLVFilePacket::InitFromFile(Reader, m_Dict->ul(MDD_RandomIndexMetadata));
@@ -291,7 +291,7 @@ ASDCP::MXF::Partition::AddChildObject(InterchangeObject* Object)
//
ASDCP::Result_t
-ASDCP::MXF::Partition::InitFromFile(const Kumu::FileReader& Reader)
+ASDCP::MXF::Partition::InitFromFile(const Kumu::IFileReader& Reader)
{
Result_t result = KLVFilePacket::InitFromFile(Reader);
// test the UL
@@ -552,8 +552,8 @@ ASDCP::MXF::Primer::InsertTag(const MDDEntry& Entry, ASDCP::TagValue& Tag)
ASDCP::Result_t
ASDCP::MXF::Primer::TagForKey(const ASDCP::UL& Key, ASDCP::TagValue& Tag)
{
- assert(m_Lookup);
- if ( m_Lookup.empty() )
+
+ if ( !m_Lookup || m_Lookup.empty() )
{
DefaultLogSink().Error("Primer lookup is empty\n");
return RESULT_FAIL;
@@ -750,7 +750,7 @@ ASDCP::MXF::OP1aHeader::~OP1aHeader() {}
//
ASDCP::Result_t
-ASDCP::MXF::OP1aHeader::InitFromFile(const Kumu::FileReader& Reader)
+ASDCP::MXF::OP1aHeader::InitFromFile(const Kumu::IFileReader& Reader)
{
Result_t result = Partition::InitFromFile(Reader);
@@ -986,7 +986,7 @@ ASDCP::MXF::OP1aHeader::WriteToFile(Kumu::FileWriter& Writer, ui32_t HeaderSize)
// KLV Fill
if ( ASDCP_SUCCESS(result) )
{
- Kumu::fpos_t pos = Writer.Tell();
+ Kumu::fpos_t pos = Writer.TellPosition();
if ( pos > (Kumu::fpos_t)HeaderByteCount )
{
@@ -1058,7 +1058,7 @@ ASDCP::MXF::OPAtomIndexFooter::~OPAtomIndexFooter() {}
//
ASDCP::Result_t
-ASDCP::MXF::OPAtomIndexFooter::InitFromFile(const Kumu::FileReader& Reader)
+ASDCP::MXF::OPAtomIndexFooter::InitFromFile(const Kumu::IFileReader& Reader)
{
Result_t result = Partition::InitFromFile(Reader); // test UL and OP
@@ -1509,26 +1509,35 @@ ASDCP::MXF::InterchangeObject::IsA(const byte_t* label)
//------------------------------------------------------------------------------------------
-struct FactoryCompareUL
+namespace ASDCP {
+namespace MXF
{
- bool operator()(const ASDCP::UL& lhs, const ASDCP::UL& rhs) const
+ struct FactoryCompareUL
{
- ui32_t test_size = lhs.Size() < rhs.Size() ? lhs.Size() : rhs.Size();
-
- for (ui32_t i = 0; i < test_size; i++)
+ bool operator()(const ASDCP::UL& lhs, const ASDCP::UL& rhs) const
{
- if (i == 7) continue; // skip version to be symmetrical with UL::operator==
- if (lhs.Value()[i] != rhs.Value()[i])
- return lhs.Value()[i] < rhs.Value()[i];
- }
+ ui32_t test_size = lhs.Size() < rhs.Size() ? lhs.Size() : rhs.Size();
- return false;
- }
-};
+ for (ui32_t i = 0; i < test_size; i++)
+ {
+ if (i == 7) continue; // skip version to be symmetrical with UL::operator==
+ if (lhs.Value()[i] != rhs.Value()[i])
+ return lhs.Value()[i] < rhs.Value()[i];
+ }
-typedef std::map<ASDCP::UL, ASDCP::MXF::MXFObjectFactory_t, FactoryCompareUL>FactoryMap_t;
+ return false;
+ }
+ };
+}
+} // namespace asdcp
+
+typedef std::map<ASDCP::UL, ASDCP::MXF::MXFObjectFactory_t, ASDCP::MXF::FactoryCompareUL>FactoryMap_t;
typedef FactoryMap_t::iterator FLi_t;
+namespace ASDCP {
+
+namespace MXF
+{
//
class FactoryList : public FactoryMap_t
{
@@ -1559,8 +1568,11 @@ public:
}
};
+} // namespace MXF
+} // namespace asdcp
+
//
-static FactoryList s_FactoryList;
+static ASDCP::MXF::FactoryList s_FactoryList;
static Kumu::Mutex s_InitLock;
static bool s_TypesInit = false;