Modified to enforce execution order of the predicates
[asdcplib.git] / src / h__02_Reader.cpp
index 25a82e0e1c7c7c6708c5be760acb5098750f3a75..b3c092b39ede5b625a55a6ef94b50ca1c180b50a 100644 (file)
@@ -1,5 +1,5 @@
 /*
-Copyright (c) 2011-2016, Robert Scheler, Heiko Sparenberg Fraunhofer IIS,
+Copyright (c) 2011-2018, Robert Scheler, Heiko Sparenberg Fraunhofer IIS,
 John Hurst
 
 All rights reserved.
@@ -93,7 +93,7 @@ AS_02::MXF::AS02IndexReader::InitFromFile(const Kumu::FileReader& reader, const
        }
       else if ( i->BodySID != first_body_sid )
        {
-         DefaultLogSink().Debug("The index assembler is ignoring BodySID %d.\n", i->BodySID);
+         //      DefaultLogSink().Debug("The index assembler is ignoring BodySID %d.\n", i->BodySID);
          continue;
        }
 
@@ -411,7 +411,6 @@ AS_02::h__AS02Reader::OpenMXFRead(const std::string& filename)
     {
       //
       UL OP1a_ul(m_Dict->ul(MDD_OP1a));
-      InterchangeObject* Object;
       m_Info.LabelSetType = LS_MXF_SMPTE;
 
       if ( m_HeaderPart.OperationalPattern != OP1a_ul )
@@ -431,10 +430,13 @@ AS_02::h__AS02Reader::OpenMXFRead(const std::string& filename)
        }
 
       //
-      if ( m_RIP.PairArray.front().ByteOffset != 0 )
+      if ( ! m_RIP.PairArray.empty() )
        {
-         DefaultLogSink().Error("First Partition in RIP is not at offset 0.\n");
-         return RESULT_AS02_FORMAT;
+         if ( m_RIP.PairArray.front().ByteOffset != 0 )
+           {
+             DefaultLogSink().Error("First Partition in RIP is not at offset 0.\n");
+             return RESULT_AS02_FORMAT;
+           }
        }
 
       Kumu::fpos_t first_partition_after_header = 0;